Ajax Post 요청으로 Django CSRF 검사 실패
Django 문서에 설명된 대로 CSRF 보호를 활성화하면 악의적인 교차 사이트 요청 공격을 방지하는 데 도움이 됩니다. 지침에 따라 Ajax 게시로 CSRF 검사를 구현하려고 시도했지만 여전히 거부됩니다.
이 문제를 해결하려면 다음 단계를 고려하세요.
토큰 존재 확인:
JavaScript 코드가 CSRF 토큰을 가져와서 저장하는지 확인하세요. csrftoken이라는 변수입니다. 헤더를 설정하기 전에 이 토큰이 있어야 합니다.
$.post("/memorize/", data, function (result) { ... }); var csrftoken = getCookie('csrftoken'); xhr.setRequestHeader("X-CSRFToken", csrftoken);
대체 방법(데이터 본문 사용):
헤더를 설정하는 대신 Ajax 요청의 데이터 본문에 CSRF 토큰을 다음과 같이 삽입할 수 있습니다. 다음:
$.ajax({ data: { csrfmiddlewaretoken: '{{ csrf_token }}', ... // Other data }, });
이러한 단계가 완료되면 Ajax 요청을 다시 제출하여 CSRF 검사가 성공적으로 통과했는지 확인하세요.
위 내용은 Ajax POST 요청으로 인해 Django CSRF 확인이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!