多个 csrftoken cookie,RFC 要求只有 1 个 csrftoken 吗?

jmu*_*sch 6 python django cookies http session-cookies

我试图找到以下问题的答案。

  • 浏览器在什么情况下会存储多个csrftokencookies?
  • 它是正确的还是技术上有效的功能?
  • 以及在 RFC/security 文档中传递数组或尝试数组csrftoken存在的位置,还是技术上有效?

我附上了一个示例屏幕截图,显示了我在csrftoken各种 cookie 路径和到期时间(多租户和各种表单路径)中看到的多个内容。

在此处输入图片说明

有关的:

G M*_*Man 1

并不要求只有一个令牌,但更常见的方法是在单个根路径上更新/刷新 CSRF 令牌 cookie:/

这实际上取决于您的服务器如何解释每个令牌请求之后的潜在表单帖子。一种简单的方法是在设置 cookie 之前将新生成的令牌存储在用户的会话存储(内存或数据库中)中。然后当用户的表单 POST 到达时,在服务器上再次比较这两者。

  1. 当每个 HTTP GET 请求(使用令牌响应)指定自定义 cookie 路径时,浏览器会存储多个令牌 cookie。一种更常见的方法是使用一个 cookie 来防止 CSRF。

  2. 您可以使令牌路径特定,但这不会使您的令牌更安全。

  3. 测试令牌有效性完全取决于您。

希望这可以帮助。