Ajax Laravel 419 POST 오류 이해 및 해결
Laravel 419 POST 오류는 Ajax 요청에서 발생하는 일반적인 문제입니다. 요청 헤더에 CSRF(Cross-Site Request Forgery) 보호 토큰이 누락되어 발생합니다. Laravel은 외부 소스로부터의 악의적인 요청을 방지하기 위해 기본적으로 CSRF 보호를 구현합니다.
419 오류의 근본 원인
Laravel은 각 활성 사용자 세션에 대해 고유한 CSRF 토큰을 생성합니다. 이 토큰은 인증된 사용자가 요청한 사용자인지 확인하는 데 사용됩니다. 요청에 올바른 CSRF 토큰이 포함되어 있지 않으면 Laravel은 419 오류를 반환합니다.
Ajax 호출 구성
제공된 Ajax 호출에서 X-CSRF- TOKEN 헤더가 누락되었습니다. 모든 요청에 토큰을 포함하려면 Ajax 호출 설정에 다음 행을 추가하세요.
<code class="javascript">$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });</code>
이렇게 하면 CSRF 토큰이 모든 Ajax 요청에 포함되어 Laravel의 CSRF 보호와 호환됩니다.
대체 솔루션: CSRF 확인에서 경로 제외
또는 verifyCSRFToken 미들웨어의 CSRF 토큰 확인에서 특정 경로를 제외할 수 있습니다. app/Http/Kernel.php에서 $just 속성에 원하는 경로를 추가합니다.
<code class="php">protected $except = [ '/route_you_want_to_ignore', '/route_group/* ];</code>
이렇게 하면 지정된 경로가 CSRF 토큰 확인에서 제외되어 Ajax 요청에 대한 419 오류를 우회할 수 있습니다.
결론
Ajax 요청에 CSRF 토큰을 포함하거나 CSRF 검증에서 해당 경로를 제외하면 Ajax Laravel 419 POST 오류를 효과적으로 해결하고 무결성을 보장할 수 있습니다. 귀하의 애플리케이션 요청 중
위 내용은 Laravel Ajax 요청에서 419 POST 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!