代码之家  ›  专栏  ›  技术社区  ›  allyourcode

您可以通过在所有POST请求的参数中包含会话密钥来防止XSRF吗?

  •  1
  • allyourcode  · 技术社区  · 16 年前

    这个主意行吗?这看起来很愚蠢,因为我的应用程序只是检查浏览器是否发送了相同信息的两个副本(即会话密钥)。

    而且,记住这张支票听起来很乏味。像Rails和Cakephp这样的Web框架是否具有使编写不支持XSRF的Web应用程序更容易的功能?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Edward Z. Yang    16 年前

    假设会话密钥没有泄漏(如果您的php配置不正确并使用session.use_trans_sid,可能会发生这种情况),并且您不易受到会话固定攻击,是的,这是安全的。这是因为请求伪造者无法读取您的cookie,因此不知道正确的值是什么。

    你可能对 CSRF Magic 声明允许您通过包含单个文件来保护应用程序。