2012-11-28 53 views
1

我有一个关于从使用AJAX提交的表单验证数据的问题(并不重要)。我的JavaScript验证足够了吗?

我使用jQuery验证它,通常是三件事情:

  • 是否有在现场的任何数据?
  • 数据的长度(以及数据的种类)是否正确?
  • 数据是否正则表达式匹配(不奇怪XSS字符等)

我的问题:如何验证的钱,我需要重复服务器端?用户是否可以执行JS和/或更改我的HTML,以便将任何危险代码提交到我的后端?

回答

3

从来没有依靠在JavaScript和客户端验证。只是因为用户可以非常容易地禁用或规避您的客户端验证。

任何用户输入都应视为无效,直到在服务器端上进行验证。

客户端验证应被视为“很好拥有”功能,以增加应用程序的UX值(它允许用户更快地检测错误,而不必重新填写表单)。但就是这样。它不是固体服务器端验证的替代方案。

+0

+1 Javascript验证是世界上最容易规避的事情(greasemonkey脚本,浏览器插件,禁用javascript,使用真正旧的浏览器,wget等) –