2

可能重复:
JavaScript:客户端与服务器端验证

有很多 JavaScript/jQuery 客户端表单验证脚本。但考虑到它是客户端,绕过验证并提交带有忽略验证规则的值的表单相当容易。唯一的解决方案是同时实施服务器端验证以保护自己。

客户端 jQuery 验证很有趣,而且看起来很漂亮,但是如果您已经必须实现服务器端验证,那么客户端验证的意义何在?这似乎是不必要的冗余和开发时间的浪费。没用吗?

另外,有没有什么好方法可以实现不需要服务器端验证的客户端验证?

4

5 回答 5

6

始终可以绕过客户端验证。没有办法解决这个问题。在处理敏感信息、写入/读取数据库或任何可能被黑客入侵的事情时,应始终使用后端验证。

客户端验证就在那里,因为它更快。与其在我提交表单后立即知道我的电子邮件地址格式不正确,服务器检查它,然后发回一些东西,不如立即知道我的电子邮件地址格式不正确。

于 2012-04-10T16:03:40.960 回答
3

一个词:可用性。您不应该只编写 Web 应用程序来防御黑客。有更多的普通用户只想要易于使用、直观的软件。

于 2012-04-10T16:04:35.423 回答
2

它提供了更好的用户体验。这才是重点。用户可以在更改表单值后立即看到验证结果,而不是每次都提交表单并等待服务器响应。

于 2012-04-10T16:03:27.750 回答
0

您总是需要服务器端验证。永远不要相信来自客户端的任何数据。客户端验证是为了更好的用户体验而完成的。如果您希望人们使用您的网站,用户体验非常重要。

于 2012-04-10T16:05:34.487 回答
0

客户端验证背后的想法是系统是“快速失败的”。如果一个诚实的用户犯了错误,她会立即被告知,这对用户(更少的等待)和服务器(更轻的流量负载)都有好处。

服务器端验证始终是安全存在所必需的;任何安全的客户端验证系统都必须假设用户无法控制自己的机器。

于 2012-04-10T16:10:34.967 回答