同一域上的多个Django站点 - CSRF失败

时间:2015-03-06 15:38:57

标签: django cookies csrf django-csrf csrf-protection

我有两个应用程序在不同端口上运行在同一个域上,都使用csrf中间件。

当我在其中一个应用程序中登录时,从另一个应用程序提交的所有POST都会失败 我认为因为SESSION_COOKIE_DOMAIN是相同的。

我尝试更改SESSION_COOKIE_NAME,但'csrftoken' Cookie在两个网站上的POST请求中使用,无论现在是否有一个名为我指定的新Cookie

当我使用AJAX发布信息并使用新名称从cookie获取csrf令牌时 - 但是,表单提交失败并且CSRF验证失败。

1 个答案:

答案 0 :(得分:3)

默认情况下,CSRF令牌cookie名为csrftoken,但您可以通过CSRF_COOKIE_NAME设置控制Cookie名称。 Docs

为每个应用使用不同的CSRF Coo​​kie名称。