laravel프레임워크에서 post 또는 put 메서드를 사용하여 요청할 때 때로는 VerifyCsrfToken.php 라인 67의 TokenMismatchException 오류가 보고됩니다. 그 이유는 laravel이 기본적으로 anti-CSRF를 활성화했기 때문입니다.
이 문제를 해결하는 방법은 두 가지가 있는데, 하나는 요청할 때 토큰 값을 제출하는 것이고, 다른 하나는 CSRF 방지 시 요청한 경로를 제외하는 것입니다
방법 1: 토큰 값을 전달
제출 시 형식:
<form action="photo/12" method="post"> <?php echo method_field('PUT'); ?> <?php echo csrf_field(); ?> <input type="submit" name="提交" /> </form>
AJAX 요청을 사용하는 경우:
<meta name="csrf-token" content="{{ csrf_token() }}">$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
방법 2: 지정된 URL을 CSRF 보호에서 제외
URL은 http://laravel.com/photo입니다. /12. 이제 사진 리소스와 관련된 경로를 제외하려면 AppHttpMiddlewareVerifyCsrfToken::class에 다음과 같이 경로를 추가합니다.
protected $except = [ 'photo', 'photo/*', ];
방법 2는 사진 관련 경로에서 CSRF를 수행할 수 없습니다. 따라서 실제 상황에 따라 선택하시기 바랍니다
위 내용은 이 글의 전체 내용입니다. 더 많은 라라벨 콘텐츠를 보려면 laravel 프레임워크 소개 튜토리얼을 주목하세요.
추천 관련 기사:
Laravel 프레임워크의 모양 모드에 대한 심층 분석
Ajax 양식 제출 오류 확인을 구현하기 위한 laravel5.4 프레임워크의 Vue.js
관련 동영상 추천:
2017년 최신 Laravel 추천 동영상 튜토리얼 5개
위 내용은 laravel 프레임워크에서 TokenMismatchException의 예외 처리 내용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!