ajax - 安全的 ajax 表单 POST

标签 ajax security forms post

我想知道如何通过 AJAX 开发安全的表单帖子。

例如,我有:

我的 HTML 表单。

我的 JavaScript 处理提交。

提交网址为“post_data.php”

发布的数据是:

id=8&name=Denis

PHP 验证变量 id 和 name 是否为 POSTED 及其数据类型。如果没问题,它会继续在数据库上做一些事情。

我的问题是,我怎样才能防止有人在我的网站之外或其他任何地方创建自己的 html 表单,并将虚假数据发布到我的 PHP 脚本?

假设数据确实存在于我的数据库中,这可能很糟糕。

谢谢

最佳答案

一种非常常见的方法是在 <hidden> 中包含某种标记。表单上的字段,以及保存在服务器上的 session 变量(或其他地方)中的相同字段。提交帖子后,您检查 token 是否有效。

其他人仍然可以伪造 token ,但他们不能(至少以任何简单的方式)强制您在服务器上保存相同的 token ,因此不会接受除您自己以外的其他形式。

例如,这是 ASP.NET MVC 中对此的内置支持的工作原理。

关于ajax - 安全的 ajax 表单 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888979/

相关文章:

javascript - 函数内的两个回调函数未被同步调用

html - 如何使用基于 JSON 的下拉列表来过滤 xml 源?

c# - ServiceController 关闭 IIS 安全访问

javascript - 为什么 JavaScript 传递未经验证的信息

javascript - 如何将一个表单的文件上传字段中的值复制到另一个表单的文本字段?

Javascript 切换不能正常工作

javascript - AJAX 表单提交和 Google Analytics

javascript - jQuery ajax "too much recursion"

php - PHP 中的严格 HTML 验证和过滤

android - 使用自定义 CA 时 API 17 (JELLY_BEAN) 中的 SSLHandshakeException