今天就跟大家聊聊有关在Laravel框架中使用VerifyCsrfToken时出现报错如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
报错情况
form 表单进行 post 方式提交数据时,遇到如下的报错情况.
TokenMismatchException in VerifyCsrfToken.php line 67: in VerifyCsrfToken.php line 67 at VerifyCsrfToken->handle(object(Request), object(Closure))
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时出现报错如何解决有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。