1

我对 Django 的 CSRF 保护的细节有点模糊。虽然它很容易实现,但我的印象是 CSRF 令牌应该是独立于会话的。因此,当一个用户注销,而其他人登录(可能在同一台机器上)时,CSRF 令牌会发生变化。

但是,我通过 Chrome 开发者工具注意到,cookie 中的 CSRF 令牌有效期为一整年,并且不会改变(当然,除非你删除它,在这种情况下它会重新生成)。这意味着 cookie 的 CSRF 令牌通过不同的用户会话持续存在。

这里有漏洞吗?我是否错误地实施了某些事情?或者这是故意的,我只是想念保护的工作原理?

4

1 回答 1

2

事实证明没有问题。Django 处理得很好——它是测试版,它不起作用/禁用了这个功能。令牌通过用户会话持续存在,但这只是因为有一个测试版运行该项目。使用发布版本,一切都很好并且受到保护。

于 2013-11-07T21:49:03.070 回答