广州葆元健康生物科技有限公司


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

网络编程 Laravel框架中VerifyCsrfToken报错问题的解决 06-22

前言

本文主要给大家介绍了关于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 代码

打开 appHttpKernel.php,在文件中注释掉下面的代码

AppHttpMiddlewareVerifyCsrfToken::class

方法 4. 修改handle()方法

打开 appHttpMiddlewareVerifyCsrfToken.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访问MySql数据库的逻辑操作以及增删改查的实例讲解
PHP访问MySql数据库php//造连接对象$db=newMySQLi("localhost","root","","0710_test");//写SQL语句$sql="select*fromstudent";//检测连接数据库是否成功,失败返回连接失败,并

PHP下 Mongodb 连接远程数据库的实例代码
WINDOWS下装MongoDB先去官网下载:https://www.mongodb.com/download-center#atlas1、在mongodb的文件夹下创建data、logs文件夹和mongo.conf命令行命令!D:mongodbbinmongod--dbpath

Laravel构建即时应用的一种实现方法详解
即时交互的应用大家应该都有所体会,在现代的Web应用中很多场景都需要运用到即时通讯,比如说最常见的支付回调,与三方登录。这些业务场景都基


编辑:广州葆元健康生物科技有限公司

标签:方法,报错,表单,代码,数据库