【发布时间】:2019-01-22 20:26:30
【问题描述】:
在我的 Django 项目中,直到最近我还没有设置 SESSION_COOKIE_DOMAIN 和 CSRF_COOKIE_DOMAIN。最近我将它们更改为.mydomain.com,从那时起,我一直看到某些用户的 AJAX 请求中出现零星的 CSRF 失败。故障表现为 403,日志中出现 CSRF token missing or incorrect.。
要求用户清除 cookie 似乎可以解决问题,但我想知道设置更改是如何导致此问题的,以及为什么它似乎只发生在某些用户而不是其他用户。
想知道是否有办法在不要求我的用户清除 cookie 的情况下解决这些问题。
【问题讨论】:
-
我不知道答案,但文档确实suggest 表明这可能会导致问题:“在生产站点上更新此设置时要小心。如果您更新此设置以启用交叉-以前使用标准域 cookie 的站点上的域 cookie,现有用户 cookie 将被设置为旧域。这可能导致他们无法登录,只要这些 cookie 持续存在。"
标签: python django cookies csrf