如果存在以方括号'['开头的cookie值,则Django CSRF cookie未设置错误

Django CSRF cookie not set error if there is cookie value starting with square brackets '['

我有一个托管在 xyz.mysite.com 上的 django 站点。我不拥有或控制的父站点 mysite.com 设置了一个值为 [XX]v3|[XXX] 的 cookie。这导致我的站点 return 错误 CSRF cookie not set. 发生这种情况是因为 django/middleware/csrf.py csrf_token 值在用户尝试登录时设置为 none。

如果我从 mysite.com 设置的 cookie 值中删除方括号,它工作正常。

知道如何避免这个问题。我正在使用无法升级的 django 1.5.12。

这是一个 python 2.7.9 错误。它已在 2.7.10 https://hg.python.org/cpython/rev/2a7b0e145945

中修复