AJAX验证的安全风险?

Boj*_*les 6 html php validation ajax

我想验证表单而无需重新加载整个页面.我目前正在使用JavaScript,但这是非常不安全的.为了解决这个问题,我想使用AJAX和PHP脚本来验证表单.有谁知道这可能有任何安全风险?

我还假设AJAX方法比vanilla JS更安全,但我可能错了?

Que*_*tin 5

它们与使用纯客户端JavaScript验证的风险完全相同.唯一的区别是您要求服务器提供一些数据作为流程的一部分.

无论验证结果如何,用户都可以覆盖JavaScript以提交表单.

检查提交数据时使用JavaScript的唯一原因是节省用户时间.如果作为其中的一部分你想要做一些事情,比如询问服务器是否在用户填写表单的其余部分时使用了用户名,那么很棒 - 这是一个非常好用的Ajax.否则,使用Ajax是毫无价值的.

如果要进行客户端检查,则将所有可用的逻辑放在客户端上,避免发出HTTP请求.如果你有的东西只能在服务器端检查(因为它们是基于数据的,比如已经采用了用户名的例子),那么考虑使用Ajax.客户端检查是方便检查.始终执行安全检查服务器端和最终提交的数据.

请注意,验证使用Ajax实际提交的数据是另一回事 - 因为这是最终提交的数据.它正在进行Ajax验证,作为最终提交的前提,不会对数据增加任何信任.

  • 用户无需修改PHP代码.他们只需要修改处理响应的JavaScript.PHP说"这是不可接受的数据!",用户让JavaScript说"那么什么?!".就此而言,用户可以首先跳过发送请求. (2认同)