某些用户的 CSRF 验证失败

Posted

技术标签:

【中文标题】某些用户的 CSRF 验证失败【英文标题】:CSRF Verification failing for some users 【发布时间】:2011-12-25 20:09:26 【问题描述】:

我收到一位用户的投诉,他在尝试登录我的网站(使用 django.contrib.auth.views.login)时不断收到 CSRF 403 错误。

我自己没有收到此错误,也没有其他用户抱怨此问题。知道它可能是什么吗?我应该如何调试这个?

有没有办法记录有关 CSRF 失败的详细信息,以便我可以尝试检查用户登录时的状态。我不想为外部用户设置 DEBUG=True...

【问题讨论】:

他是否尝试过按照***.com/questions/3678238/… 清除他的cookie? 是的,他尝试了多种计算机、浏览器和连接类型。我可以通过他的帐户登录就好了。他在澳大利亚——所以他的时区不同——但这似乎不应该是一个因素。 【参考方案1】:

我最近遇到了这个问题,结果证明是 cookie 问题,因为最终用户禁用了它们。

【讨论】:

【参考方案2】:

根据您对我的评论的回复,我不确定是什么导致了这个问题。我会使用CSRF_FAILURE_VIEW 来实现一个自定义视图,它可以为您提供有关正在发生的事情的更多信息。

【讨论】:

以上是关于某些用户的 CSRF 验证失败的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 中的 CSRF 验证失败

禁止 (403) CSRF 验证失败。请求中止。即使使用 % csrf_token %

由于缺少 CSRF,表单验证失败

Flask:CSRF 验证失败

Symfony:身份验证请求失败:无效的 CSRF 令牌

Django 1.2.4 CSRF 验证失败