>  기사  >  PHP 프레임워크  >  laravel 프레임워크에서 TokenMismatchException의 예외 처리 내용

laravel 프레임워크에서 TokenMismatchException의 예외 처리 내용

不言
不言원래의
2018-07-31 15:27:353409검색

laravel프레임워크에서 post 또는 put 메서드를 사용하여 요청할 때 때로는 VerifyCsrfToken.php 라인 67의 TokenMismatchException 오류가 보고됩니다. 그 이유는 laravel이 기본적으로 anti-CSRF를 활성화했기 때문입니다.
이 문제를 해결하는 방법은 두 가지가 있는데, 하나는 요청할 때 토큰 값을 제출하는 것이고, 다른 하나는 CSRF 방지 시 요청한 경로를 제외하는 것입니다

방법 1: 토큰 값을 전달

제출 시 형식:

<form action="photo/12" method="post">
        <?php echo method_field(&#39;PUT&#39;); ?>
        <?php echo csrf_field(); ?>
        <input type="submit" name="提交" />
    </form>

AJAX 요청을 사용하는 경우:

<meta name="csrf-token" content="{{ csrf_token() }}">$.ajaxSetup({
    headers: {        &#39;X-CSRF-TOKEN&#39;: $(&#39;meta[name="csrf-token"]&#39;).attr(&#39;content&#39;)
    }
});

방법 2: 지정된 URL을 CSRF 보호에서 제외

URL은 http://laravel.com/photo입니다. /12. 이제 사진 리소스와 관련된 경로를 제외하려면 AppHttpMiddlewareVerifyCsrfToken::class에 다음과 같이 경로를 추가합니다.

protected $except = [        &#39;photo&#39;,        &#39;photo/*&#39;,
    ];

방법 2는 사진 관련 경로에서 CSRF를 수행할 수 없습니다. 따라서 실제 상황에 따라 선택하시기 바랍니다

위 내용은 이 글의 전체 내용입니다. 더 많은 라라벨 콘텐츠를 보려면 laravel 프레임워크 소개 튜토리얼을 주목하세요.

추천 관련 기사:

Laravel 프레임워크의 모양 모드에 대한 심층 분석

Ajax 양식 제출 오류 확인을 구현하기 위한 laravel5.4 프레임워크의 Vue.js

관련 동영상 추천:

2017년 최신 Laravel 추천 동영상 튜토리얼 5개

위 내용은 laravel 프레임워크에서 TokenMismatchException의 예외 처리 내용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.