来自django.contrib.auth.views.login()的间歇性403响应

时间:2017-06-13 14:25:28

标签: django django-views

使用django.contrib.auth.views.login()处理用户登录我在生产环境中看到403响应。第二次尝试登录在初始403之后成功(发生响应时)。

我已经开始记录所有403登录失败,捕获POST有效负载和cookie值,这些值表明csrfmiddlewaretoken(隐藏表单字段值)和csrftoken(cookie值)不匹配。它是间歇性的,并且发生在许多用户身上。

以下装饰器都应用于用于代理django.contrib.auth.views.login()函数的登录函数:@ensure_csrf_cookie,@ sensitive_post_parameters,@ csff_protect,@ when_cache

这个问题的原因可能是什么?

1 个答案:

答案 0 :(得分:2)

CSRF token is rotated after login

如果您在一个标签页中打开登录页面,使用第二个标签页登录,那么如果您在原始标签页上提交表单,则会出现CSRF错误。