Laravel框架中VerifyCsrfToken报错问题的解决
程序员文章站
2022-06-22 20:55:46
前言
本文主要给大家介绍了关于laravel框架中verifycsrftoken报错问题的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
报...
前言
本文主要给大家介绍了关于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 介绍
csrf 图解释义
参考文章
1. laravel 5.3 文档 - csrf攻击原理及其防护
2. laravel 5.3 文档 - http层 csrf保护
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: PHP单例模式与工厂模式详解
推荐阅读
-
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
-
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
-
解决pandas中读取中文名称的csv文件报错的问题
-
关于Cookie中带有中文乱码报错的问题解决
-
Laravel 5.4中migrate报错: Specified key was too long error的解决
-
解决python3中自定义wsgi函数,make_server函数报错的问题
-
解决Layui中layer报错的问题
-
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
-
解决使用OpenCV中的imread()内存报错问题
-
Laravel 5.4.36中session没有保存成功问题的解决