laravelフレームワークにおけるTokenMismatchExceptionの例外処理内容

不言
リリース: 2018-07-31 15:27:35
オリジナル
3403 人が閲覧しました

laravel フレームワークでは、post メソッドまたは put メソッドを使用してリクエストを行うと、VerifyCsrfToken.php 行 67 の TokenMismatchException エラーが報告されることがあります。その理由は、laravel ではデフォルトで反 CSRF がオンになっているためです。
この問題を解決するには2つの方法があり、1つはリクエスト時にトークン値を送信する方法、もう1つは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フレームワーク入門チュートリアルを参照してください。

おすすめ関連記事:

Laravel フレームワークの外観モードの詳細な分析

Ajax フォーム送信エラー検証を実装するための laravel5.4 フレームワークの Vue.js

関連ビデオの推奨:

2017年最新 5つのおすすめLaravelビデオチュートリアル

以上がlaravelフレームワークにおけるTokenMismatchExceptionの例外処理内容の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート