我有一个网站,可以在两个单独的域下访问,比如a.x.com
and b.x.com
, or a.com
and a.org
(通过简单ServerAlias
的 apache 完成)。
CSRF 令牌只能设置为其中一个域(比方说a.x.com
),所以访问时b.x.com
我总是得到 403: CSRF 验证失败。
在存在 CSRF 令牌的情况下处理域别名的正确方法是什么?
我有一个网站,可以在两个单独的域下访问,比如a.x.com
and b.x.com
, or a.com
and a.org
(通过简单ServerAlias
的 apache 完成)。
CSRF 令牌只能设置为其中一个域(比方说a.x.com
),所以访问时b.x.com
我总是得到 403: CSRF 验证失败。
在存在 CSRF 令牌的情况下处理域别名的正确方法是什么?
你有没有看过CSRF_COOKIE_DOMAIN
settings.py 中的设置?Django 文档在这里:https ://docs.djangoproject.com/en/dev/ref/contrib/csrf/#csrf-cookie-domain
将其设置为“.x.com”,两个子域的 CSRF cookie 都可以使用。