我有一个网站,可以在两个不同的域名下访问,例如a.x.com
和b.x.com
,或a.com
和a.org
(通过简单的{{1}完成在apache)。
CSRF令牌只能设置为其中一个域(假设为ServerAlias
),因此在访问a.x.com
时,我总是得到403:CSRF验证失败。
在存在CSRF令牌的情况下处理域别名的正确方法是什么?
答案 0 :(得分:0)
您是否看过在settings.py中设置CSRF_COOKIE_DOMAIN
? Django的文档就在这里:https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#csrf-cookie-domain
将其设置为“.x.com”,两个子域的CSRF cookie都可以使用。