2013-04-09 69 views
-2

我有想法:的JavaScript「的onClick」,「的onsubmit」

是什麼阻止從通過刪除「的onsubmit」使用類似Firebug的HTML表單繞過表單驗證人嗎?

我知道Javascript並不是唯一的驗證形式,但我怎樣才能確保Javascript驗證不會以這種方式被規避?

如果可能的話,我寧願繼續使用「onSubmit」方法,因爲這已經存在,但我可以使用其他選項。

我應該說清楚,我確實有服務器端驗證。我只是想盡可能地去除JS驗證。

+1

服務器端驗證.. ?? – 2013-04-09 11:51:49

+0

>什麼阻止 - 什麼都沒有。客戶端驗證應與服務器端配對使用。 – Tommi 2013-04-09 11:52:54

+0

請參閱[this](http://stackoverflow.com/questions/162159/javascript-client-side-vs-server-side-validation)或[this](http://stackoverflow.com/questions/10460711/to - 什麼-延伸-應-I-依賴-上的客戶端驗證)。 – 2013-04-09 11:54:04

回答

6

什麼阻止某人避開表單驗證,通過刪除使用類似Firebug的HTML表單的「onSubmit」?

什麼都沒有。客戶端表單輸入檢查爲用戶提供了便利(它允許即時和上下文反饋,而無需往返服務器),而不是服務器的安全性。您還需要檢查服務器上的數據。

我瞭解Javascript是不是意味着要驗證

是唯一的形式。

但我該如何確保Javascript驗證不會以這種方式繞過?

你不能,那就是爲什麼它不是唯一的驗證形式。

+0

它不是唯一的驗證形式。我知道這不是我想要的,我只是想讓它變得困難。 – Barney 2013-04-09 11:58:05

+0

你不能讓它難以消除。 – Quentin 2013-04-09 12:02:01

+1

因爲客戶端驗證的唯一目的是用戶的舒適度,所以無論如何都難以消除。 – 2013-04-09 12:04:35

0

不可能阻止用戶在HTML頁面中更改正在運行的JavaScript代碼。這就是爲什麼強烈建議在服務器端複製表單數據驗證的原因。

0

你不能做任何事情。

  1. Javascript是客戶端,你不應該依賴於客戶端代碼。用戶可以篡改數據並將其發佈到服務器端。
  2. 在服務器端,您還需要檢查文檔的有效性。
0

是什麼阻止從通過刪除「的onsubmit」使用類似Firebug的HTML表單繞過表單驗證人嗎?

什麼都沒有。驗證是一種客戶端方式,告訴用戶在他們不必提交的情況下他們的輸入不會被接受。你應該有強大的服務器端驗證以及這個工作。

應該有至關重要的驗證,這只是客戶端。