CSRF:我可以使用cookie吗?

Hap*_*per 22 security cookies csrf

可以将CSRF令牌放在cookie中吗?(并且在每种形式中,作为隐藏的输入,所以我可以检查它们是否匹配)当然我听到有人说这样做,打败了令牌的整个目的,虽然我不明白为什么.这对我来说似乎很安全.

如果它是安全的,那么将令牌放入URL中是不是更安全?

还有其他方法吗?

我在哪里可以阅读更多关于这个主题?

更新:到目前为止,没有人能告诉我cookie方法是如何不安全的,如果它仍然必须匹配攻击者无法获得的表单中的令牌,除非他使用另一个像XSS这样的黑客攻击,这是一个不同的事情,使用cookie和url令牌仍然没有区别.

更新2:好的,似乎一些着名的框架使用这种方法,所以应该没问题.谢谢

Tgr*_*Tgr 19

使用cookie是有效的,并且是一种常见的做法(例如Django使用它).由于同源策略,攻击者无法读取或更改cookie的值,因此无法猜出正确的GET/POST参数.

  • **重要提示:**服务器必须始终检查表单提交的CSRF值和通过cookie收到的值是否匹配.除非服务器使用POST(或GET)数据交叉检查来自cookie的数据,否则CSRF保护不起作用. (12认同)