Laravel学习之VerifyCsrfToken 报错解决方法详解

来源:互联网 发布:centos开启22端口 编辑:程序博客网 时间:2024/05/17 20:33
本文和大家分享的主要是Laravel VerifyCsrfToken 报错问题相关内容,一起来看看吧,希望对大家学习Laravel有所帮助。
  报错情况
  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 图解释义
来源:简书