1

我需要向现有站点添加 CSRF 保护,我指的是http://phpmaster.com/preventing-cross-site-request-forgeries/作为如何防止 CSRF 的指南。

在链接中,建议我们使用 $_SESSION 作为存储令牌的一种方式。我想知道使用 $_COOKIE 是否同样安全。使用 $_COOKIE 而不是 $_SESSION 有什么缺点吗?

编辑:知道使用 $_COOKIE 而不是 $_SESSION 是否符合 PCI 标准?

4

1 回答 1

0

在绝大多数情况下,PHP 会话标识符也是通过 cookie 传输的(会话 cookie)。

如果您的网站也是如此——几乎可以肯定——那么考虑一下如果攻击者获得对您的 cookie 的访问权(例如通过 XSS)会发生什么:他们不需要 CSRF,因为他们可以简单地劫持会议并从前门进入。结论:如果将 CSRF 令牌存储在 cookie 中,不会有额外的安全风险。

使用额外的 CSRF cookie 的一个小缺点是它会使传入的 HTTP 流量增加一点点,但这实际上只是理论上的差异。

于 2012-09-04T13:39:50.170 回答