本文和大家分享的主要是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
图解释义
来源:
简书