ako*_*zin 7 python django django-csrf csrf-protection
我有一个关于Django CsrfViewMiddleware机制的问题.我知道,Django:
但Django不检查令牌是否已被使用(例如来自CsrfViewMiddleware):
if not constant_time_compare(request_csrf_token, csrf_token):
return self._reject(request, REASON_BAD_TOKEN)
Run Code Online (Sandbox Code Playgroud)
所以我可以使用相同的令牌POST多个请求(我在我的服务器上测试它).
它是标准的行为,还是我的Django设置不正确?谢谢.
CSRF 令牌不会被消耗。
要详细阐述杰尔马诺的评论,其背后的原因很简单:
多个浏览器窗口/选项卡和REST
本质上,Django 必须为过去渲染的每个页面创建(并持久化,并且在分布式“云”部署中同步)新的 CSRF 令牌。从本质上讲,这很容易导致拒绝服务攻击,您无法假设 CSRF 有任何合理的过期时间。
| 归档时间: |
|
| 查看次数: |
1323 次 |
| 最近记录: |