【问题标题】:Django: 'CSRF verification failed' only happens on one computer!Django:“CSRF 验证失败”只发生在一台计算机上!
【发布时间】:2011-10-02 08:38:48
【问题描述】:

我的 Django 应用有一个奇怪的问题。我实现了用户身份验证/配置文件,并且可以使用各种计算机和三个不同的 Internet 位置成功登录等。一切正常,除了这台电脑。

这台计算机在登录时收到此错误。

CSRF 验证失败。请求中止。 没有 CSRF 或会话 cookie。

我尝试在这台计算机上测试各种浏览器,都得到相同的错误。我什至测试了从同一互联网登录另一台计算机,它工作得很好。我相信这个测试表明它不是互联网问题,而是一般的计算机设置问题(不是特定的浏览器)。

恐怕如果这台计算机发生此错误,如果我上线,可能还有其他计算机存在相同问题。我可以做些什么来检查为什么它只在这台机器上发生,更重要的是,我将如何修复它?

我正在使用 Django 开发服务器在某台计算机上托管应用程序。

非常感谢。

【问题讨论】:

  • 奇怪的是它发生在不同的浏览器上。您是否检查过 cookie 是否已启用?您检查过 cookie 的内容吗?
  • Cookies 已启用,但问题仍然存在。即使没有启用 cookie,问题也不应该发生。

标签: django csrf django-csrf


【解决方案1】:

可能是该错误具有误导性。当我看到仅影响一台计算机但影响多个浏览器的应用程序的登录问题时,通常是计算机设置为与过期 cookie 交互的日期有问题。

例如,这台计算机可能设置为未来 1 个月的日期,并且发送的 cookie 将立即过期,因为它只是一个 90 分钟的会话 cookie。

因此,虽然它甚至不是真正与 Django 相关的答案,但请检查那台计算机上的时钟。 :-)

【讨论】:

    猜你喜欢
    • 2012-09-08
    • 2015-06-02
    • 1970-01-01
    • 2017-03-29
    • 2011-06-14
    • 2020-03-24
    相关资源
    最近更新 更多