欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Laravel框架中VerifyCsrfToken报错问题的解决

程序员文章站 2022-03-12 19:15:20
前言 本文主要给大家介绍了关于laravel框架中verifycsrftoken报错问题的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 报...

前言

本文主要给大家介绍了关于laravel框架中verifycsrftoken报错问题的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

报错情况

form 表单进行 post 方式提交数据时,遇到如下的报错情况.

tokenmismatchexception in verifycsrftoken.php line 67:
in verifycsrftoken.php line 67
at verifycsrftoken->handle(object(request), object(closure))

Laravel框架中VerifyCsrfToken报错问题的解决

post 数据提交报错

原因

laravel 推荐在全局注册 verifycsrftoken 的 middleware ,对所有 post,put,delete 请求自动校验是否带合法的 _csrf token。

解决方法

方法 1.在form表单中添加如下的隐藏域代码

<input type="hidden" name="_token" value="{{ csrf_token() }}" />

方法 2.在form表单中添加 csrf_field

(与上述解决方法功能一致)

{!! csrf_field() !!}

方法 3.注释 kernel.php 代码

打开 app\http\kernel.php,在文件中注释掉下面的代码

\app\http\middleware\verifycsrftoken::class

方法 4. 修改handle()方法

打开 \app\http\middleware\verifycsrftoken.php,添加或修改 handle()方法如下:

 public function handle($request, \closure $next)
 {
  // 使用csrf
  //return parent::handle($request, $next);
  // 禁用csrf
  return $next($request);
 }

补充 csrf 介绍

Laravel框架中VerifyCsrfToken报错问题的解决
csrf 图解释义

参考文章

1. laravel 5.3 文档 - csrf攻击原理及其防护

2. laravel 5.3 文档 - http层 csrf保护

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。