php - 验证中 AJAX 的安全风险?

标签 php html ajax validation

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

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

最佳答案

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

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

在检查提交数据时使用 JavaScript 的唯一原因是为了节省用户时间。如果作为其中的一部分,您想要做一些事情,例如在用户填写表单的其余部分时询问服务器是否使用了用户名,那就太好了 — 这是 Ajax 的一个很好的用法。否则,使用 Ajax 就毫无值(value)。

如果你想做客户端检查,那么把你能做的所有逻辑都放在客户端上,避免发出 HTTP 请求。如果您有只能在服务器端检查的东西(因为它们基于数据,例如用户名已经被占用的示例),那么请考虑使用 Ajax。客户端检查是便利检查。 始终对服务器端和最终提交的数据进行安全检查。

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

关于php - 验证中 AJAX 的安全风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4333967/

相关文章:

asp.net - 通过客户端函数在服务器端调用非静态方法

php - 用于(大型)Python 项目的数据库引擎

php - 如何在 Codeigniter 中创建分页?

php - 在 apache docker 容器中运行虚拟主机

javascript - 单击按钮或链接时如何更新 acf 字段值?

jquery - spring MVC 3 get请求从ie错误地返回代码304

php - 如何在php中改变颜色

javascript - 如何改变 <div> 中元素的顺序?

html - CSS 中的用户配置文件状态

c# - 未知的网络方法。参数名称 : methodName