我想知道如何通过 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/