Rumah > rangka kerja php > Laravel > laravel框架中TokenMismatchException的异常处理内容

laravel框架中TokenMismatchException的异常处理内容

不言
Lepaskan: 2018-07-31 15:27:35
asal
3575 orang telah melayarinya

laravel框架下,有时在使用post或者put等方法请求时,有时会报TokenMismatchException in VerifyCsrfToken.php line 67错误。原因是laravel默认开启了防CSRF。
要解决该问题有两种方式,一种是在请求时将token值也提交过去,另一种是在防CSRF时排除所请求的路由

方法一:将token值传递过去

表单提交时:

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

使用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;)
    }
});
Salin selepas log masuk

方法二:从 CSRF 保护中排除指定 URL

比如所访问的URL为http://laravel.com/photo/12,现在想排除关于photo资源的路由,则在App\Http\Middleware\VerifyCsrfToken::class中添加路由如下:

protected $except = [        &#39;photo&#39;,        &#39;photo/*&#39;,
    ];
Salin selepas log masuk

注意,方法二将无法对photo相关路由进行CSRF防护,所以请根据实际情况选择

以上就是本篇文章的全部内容了,更多laravel内容请关注laravel框架入门教程

相关文章推荐: 

Laravel框架中外观模式的深入解析

laravel5.4框架中vue.js实现Ajax的表单提交错误验证

相关视频推荐:

2017年最新的五个Laravel视频教程推荐

Atas ialah kandungan terperinci laravel框架中TokenMismatchException的异常处理内容. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan