客户端JavaScript / jQuery表单验证无用吗?

Is Client-side JavaScript / jQuery form validation useless?

本文关键字:无用 验证 表单 JavaScript jQuery 客户端      更新时间:2023-09-26

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

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

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

另外,是否有任何好的方法可以实现不需要服务器端验证的客户端验证?

客户端

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

客户端验证之所以存在,是因为它更快。宁愿立即知道我的电子邮件地址格式不正确,而不是在我提交表单后,服务器将其签出并发送回一些东西。

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

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

始终需要服务器端验证。永远不要信任来自客户端的任何数据。执行客户端验证是为了获得更好的用户体验。如果您希望人们使用您的网站,用户体验非常重要。

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

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