2012-11-28 72 views
1

我有一個關於從使用AJAX提交的表單驗證數據的問題(並不重要)。我的JavaScript驗證足夠了嗎?

我使用jQuery驗證它,通常是三件事情:

  • 是否有在現場的任何數據?
  • 數據的長度(以及數據的種類)是否正確?
  • 數據是否正則表達式匹配(不奇怪XSS字符等)

我的問題:如何驗證的錢,我需要重複服務器端?用戶是否可以執行JS和/或更改我的HTML,以便將任何危險代碼提交到我的後端?

回答

3

從來沒有依靠在JavaScript和客戶端驗證。只是因爲用戶可以非常容易地禁用或規避您的客戶端驗證。

任何用戶輸入都應視爲無效,直到在服務器端上進行驗證。

客戶端驗證應被視爲「很好擁有」功能,以增加應用程序的UX值(它允許用戶更快地檢測錯誤,而不必重新填寫表單)。但就是這樣。它不是固體服務器端驗證的替代方案。

+0

+1 Javascript驗證是世界上最容易規避的事情(greasemonkey腳本,瀏覽器插件,禁用javascript,使用真正舊的瀏覽器,wget等) –