2011-08-15 11 views
1

私はcsrf保護でdjangoサイト作業ower httpsを設定しようとしています。それはnginxサーバーで動作します。django https + CSRF

nginxはhttpsで動作し、私のdjangoアプリケーションはGETリクエストを正常に処理します。私はポストの要求をしようとするとき、私が

SESSION_COOKIE_SECURE = True 
CSRF_COOKIE_SECURE = True 

が、何もありませんsettings.py

fastcgi_param HTTPS on; 

を設定

Forbidden (403) 

CSRF verification failed. Request aborted. 

CSRF cookie not set. 

で失敗しています。アイデアはありますか?

UPDATE! 今、私はdginogoアプリケーションower httpでnginxを使って作業しようとしています。同じ問題があるので、httpsは意味をなさないでしょう。 どうすればnginx ower httpで動作し、csrf保護を使用できますか?

UPDATE!そして解決策! ensure_csrf_cookie - 要求されたページに強制的にcsrfトークンを送信するためのデコレータ。 私のアプリは主にタグを使わないajax POSTとGETで動作するので、それは私を助けます。

答えて

3

私は

<form action="" method="post">{% csrf_token %} 

またはビューの方法上記のデコレータ

...

@csrf_protect 
def my_view(request): 

はここ読んで、あなたのHTMLテンプレート内CSRFタグのいずれかが必要と考えている:https://docs.djangoproject.com/en/dev/ref/contrib/csrf/

+0

感謝のために私はすでにそれをしています。私のdjango devのサーバーは正常に動作します。 – mixo

関連する問題