2011-08-15 4 views
1

dsangf 사이트 보호 ows 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. 

와 함께 실패합니다. 어떤 아이디어가 있습니까?

업데이트! 이제는 내 장고 앱인 ower http와 nginx로 작업하려고하는데 같은 문제가있어서 https가 이해가되지 않습니다. nginx ower http에서 어떻게 작동시키고 csrf 보호 기능을 사용할 수 있습니까?

업데이트! 그리고 해결책! 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