服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - Laravel框架中VerifyCsrfToken报错问题的解决

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

2021-06-23 16:23moTzxx PHP教程

这篇文章主要给大家介绍了关于Laravel框架中VerifyCsrfToken报错问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习,需要的朋友们下面跟着小编来一起学习学习吧。

前言

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

报错情况

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

?
1
2
3
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表单中添加如下的隐藏域代码

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

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

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

?
1
{!! csrf_field() !!}

方法 3.注释 Kernel.php 代码

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

?
1
\App\Http\Middleware\VerifyCsrfToken::class

方法 4. 修改handle()方法

打开 \app\Http\Middleware\VerifyCsrfToken.php,添加或修改 handle()方法如下:

?
1
2
3
4
5
6
7
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保护

总结

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

原文链接:http://www.jianshu.com/p/a55403223660

延伸 · 阅读

精彩推荐