2011-04-16 61 views
0

我有一個網站,用戶可以從perl前端登錄,然後重定向到Django站點。該網站在同一個域上,也許是不同的子域,但是同一個域。不幸的是,我們遇到了w /「CSRF令牌丟失或不正確。」錯誤。我怎樣才能解決這個問題?CSRF錯誤當從Perl到Django

謝謝

回答

1

您是否將CSRF令牌傳回給django?

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

例如,請注意關於子域:

子域 默認情況下,CSRF餅乾是針對它們的設置 子域。這意味着從一個子域(例如 server1.example.com)投放 的表單將無法在另一個子域 (例如server2.example.com)上擁有目標 。這個 限制可以通過將 CSRF_COOKIE_DOMAIN設置爲 (如「.example.com」)來消除。

您也可以通過@csrf_exempt裝飾器禁用任何視圖引發該錯誤(在上面的鏈接中)的CSRF保護。

+0

如果用戶在perl前端啓動,他將不會擁有CSRF令牌。 @csrf_exempt裝飾器是這裏的方法。 – shadfc 2011-04-16 05:27:48