Django CSRF 확인이 Ajax POST 요청으로 실패함
배경:
Django는 교차 사이트 요청을 사용합니다. 악성 웹사이트가 양식을 제출하거나 작업을 실행하는 것을 방지하는 위조(CSRF) 보호 메커니즘 사용자를 대신합니다. 그러나 이로 인해 AJAX POST 요청을 할 때 문제가 발생할 수 있습니다.
해결책:
Django의 CSRF를 전달하려면 AJAX POST 요청의 데이터 본문에 CSRF 토큰이 포함되어야 합니다. 확인하다. $.ajax 함수를 사용하면 csrfmiddlewaretoken 키-값 쌍을 데이터 객체에 추가하기만 하면 됩니다.
$.ajax({ data: { somedata: 'somedata', moredata: 'moredata', csrfmiddlewaretoken: '{{ csrf_token }}' },
Django 템플릿 언어는 특수 변수 {{ csrf_token }}를 지원합니다. CSRF 토큰을 검색하여 JavaScript 코드에 삽입합니다. 이 토큰은 요청이 예상 소스에서 발생하는지 확인하고 CSRF 공격을 방지하는 데 사용됩니다.
csrfmiddlewaretoken을 AJAX POST 요청의 데이터 본문에 통합하면 Django가 요청을 인식하고 수락하도록 보장할 수 있습니다. 데이터를 처리하고 원하는 작업을 수행합니다.
위 내용은 AJAX POST 요청으로 인해 Django CSRF 검사가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!