【问题标题】:Secure ajax form POST安全的 ajax 表单 POST
【发布时间】:2011-02-22 18:10:01
【问题描述】:

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

例如,我有:

我的 HTML 表单。

我的 JavaScript 处理提交。

提交网址为“post_data.php”

发布的数据是:

id=8&name=Denis

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

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

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

谢谢

【问题讨论】:

    标签: ajax security forms post


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      token 方法可能是最有效的方法。话虽如此,即使您采取了这些其他安全措施,也不应该假设数据来自您自己的表单。验证数据始终很重要。

      【讨论】:

        猜你喜欢
        • 2012-01-15
        • 1970-01-01
        • 2010-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多