【发布时间】:2012-11-23 07:40:15
【问题描述】:
我正在使用 jquery ajax 脚本来提交将创建用户配置文件的 html 表单。我们需要检查输入错误,例如用户名、密码或电子邮件中的空格。应该使用 jQuery 在客户端检查此类错误,还是使用 PHP 在服务器端检查此类错误?
【问题讨论】:
-
如果没有服务器端检查,你就没有针对所有攻击的保护措施。
标签: php jquery forms validation
我正在使用 jquery ajax 脚本来提交将创建用户配置文件的 html 表单。我们需要检查输入错误,例如用户名、密码或电子邮件中的空格。应该使用 jQuery 在客户端检查此类错误,还是使用 PHP 在服务器端检查此类错误?
【问题讨论】:
标签: php jquery forms validation
始终进行服务器端检查。
另外在有意义的地方进行客户端检查。
【讨论】:
应该同时检查(客户端和服务器端) 如果用户通过firebug等输入值,应在客户端检查以减少服务器进程和服务器端。
【讨论】:
两边都要检查。
您使用 jQuery/JavaScript 来获得良好而快速的用户体验。用户无需等待服务器调用即可立即获得反馈。
但是 JavaScript 可以通过简单的方式被禁用或攻击(例如,Fiddler 可以轻松地编写 Http 调用)。这就是为什么您还想在服务器上检查您的请求的原因。
JavaScript 是为了用户体验,服务器端是为了安全。
【讨论】:
您应该始终在服务器端检查这些错误,因为如果用户禁用了 javascript 怎么办? Javascript 错误检查只能作为一个附加组件来改善用户体验。
【讨论】:
签入 jQuery 可以让您更快地响应用户告诉他们出了什么问题,因为您不需要往返于服务器进行验证;但是您应该始终验证服务器端以防止绕过 jQuery 验证(例如,使用 curl 而不是 Web 浏览器的调用等),或者如果客户端 js 被禁用
【讨论】:
两者。
客户端对于快速错误检查很有用。但是,它可以轻松绕过(例如关闭 Javascript),因此您必须也有服务器端检查。
如果你必须选择一个,实际上没有选择,使用服务器端检查。
【讨论】: