2013-10-04 1 views
1

403 FORBIDDEN은 (으)로 제출 한 등급이 agon-ratings입니다. 나는 doc을 읽었습니다. 그러나 헤더에 csrf 토큰이 있습니다.403 장고 danango에서 평가 없음

Request Headersview source 
Accept */* 
Accept-Encoding gzip, deflate 
Accept-Language en-US,en;q=0.5 
Cache-Control no-cache 
Connection keep-alive 
Content-Length 22 
Content-Type application/x-www-form-urlencoded; charset=UTF-8 
Cookie csrftoken=6C7zHmrBufWbiYeTXwRkCWC9hDfdxGoW; sessionid=4d6b6977721fcb97f6903d0aaab5e632 
Host localhost:8000 
Pragma no-cache 
Referer http://localhost:8000/news/40/asdas/ 
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 Firefox/23.0 
X-Requested-With XMLHttpRequest 

이 문제에 대한 도움을 주시면 감사하겠습니다. 사전

답변

1

에서 덕분에 나는 당신이 POST 데이터의 일부로 또는 X-CSRFToken 헤더를 통해 CSRF 토큰을 보내는 데 필요한 것보다 그게 올바른 경우, 아약스 요청을 통해 게시물을하고있는 것 같아요.

내가 게시 한 요청 헤더에는 그 중 하나도 표시되지 않습니다. 당신이 연결

장고 문서는이 작업을 수행하는 방법에 대한 작업 예제를 (당신이 jQuery를 그 대부분 복사 및 붙여 넣기 작업을 사용하는 경우)

+0

전에 사용해 보았습니다 .... 많은 감사드립니다. – TheNone

+0

여전히 요청에 csrf 헤더 또는 데이터가 표시되지 않습니다. 어쩌면 당신은 당신이 지금 –

+0

이 JS 관련 코드를 게시 할 수 있습니다 : X-CSRFToken \t 6C7zHmrBufWbiYeTXwRkCWC9hDfdxGoW을하지만, 여전히 "금지" – TheNone

0

을 당신은 POST 방식을 사용하고 있습니다. 그리고 POST 메서드를 사용하면 양식 요소 내에 HTML에 {% csrf_token %}을 작성하거나 ajax 요청에 csrftoken을 전달해야합니다 (예 : https://docs.djangoproject.com/en/dev/ref/contrib/csrf/).

django 설정에서 CSRFMiddleware 및 csrf 컨텍스트 프로세서를 작성할 때 의무 사항입니다.