0

我有一个站点,用户可以从 perl 前端登录,然后重定向到 django 站点。该站点位于同一个域上,可能是不同的子域,但仍然是同一个域。不幸的是,我们遇到了“CSRF 令牌丢失或不正确”的问题。错误。我怎样才能解决这个问题?

谢谢

4

1 回答 1

1

您是否将 CSRF 令牌传递回 django?

查看 CSRF 文档 http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#exceptions
那里有很多很好的信息。

例如,关于子域的注意事项:

子域 默认情况下,CSRF cookie 特定于为其设置的子域。这意味着从一个子域(例如 server1.example.com)提供的表单将无法在另一个子域(例如 server2.example.com)上具有目标。可以通过将 CSRF_COOKIE_DOMAIN 设置为“.example.com”之类的内容来消除此限制。

您还可以通过@csrf_exempt装饰器对任何抛出该错误的视图(在上面的链接中)禁用 CSRF 保护。

于 2011-04-16T01:43:34.877 回答