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

来自django.contrib.auth.views.login()的间歇403响应,django,django-views,Django,Django Views,使用django.contrib.auth.views.login()处理用户登录,我在生产环境中看到403个响应。第二次登录尝试在初始403之后成功(当响应发生时) 我已经开始记录所有403次登录失败,捕获POST有效负载和cookie值,这表明csrfmiddlewaretoken(隐藏表单字段值)和csrftoken(cookie值)不匹配。它是间歇性的,发生在许多用户身上 以下修饰符均应用于用于代理django.contrib.auth.views.login()函数的登录函数:@sur

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

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

以下修饰符均应用于用于代理django.contrib.auth.views.login()函数的登录函数:@sure\u csrf\u cookie、@sensitive\u post\u parameters、@csrf\u protect、@never\u cache

此问题的原因可能是什么?

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


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

可能该页面已打开很长时间,而您的cookie已过期。可能该页面已打开很长时间,而您的cookie已过期。向上投票,虽然我还不知道CSRF令牌轮换是否是这个问题的原因。我将告知并警告我们的用户这一点,并在我更确信这是或不是原因时在此更新。非常感谢。虽然我还不知道CSRF代币轮换是否是这一特定问题的原因,但投票结果还是一致的。我将告知并警告我们的用户这一点,并在我更确信这是或不是原因时在此更新。非常感谢。