Laravel 报错 CSRF not found的处理办法

Laravel 报错 CSRF not found的处理办法

错误截图:

这里写图片描述

Laravel CSRF是Laravel为每个活跃用户的回话生成的一个用于验证用户身份的防止跨站请求伪造(CSRF)攻击的【令牌】。Laravel的建议是:

任何情况下当你在应用程序中定义 HTML 表单时,都应该在表单中包含一个隐藏的 CSRF 令牌字段,以便 CSRF 保护中间件可以验证该请求

而在我的项目中,我使用了laravel原生的用户注册登录模块,所以生成该验证令牌的地方在布局文件resource/views/layouts/app.blade.php文件中的头部meta标签中。此处报错CSRF未找到,很可能是这里出错。而网上一堆堆资料都是让直接去注释app/Http/Kernel.php中的\App\Http\Middleware\VerifyCsrfToken::class,这么做确实简单粗暴,但这岂不相当于在阉割Laravel这么强大的开发框架?

通过查看resource/views/layouts/app.blade.php文件,发现:

这里写图片描述

前一天晚上提交那次不小心删除了@endsection,导致模板解析成了:

这里写图片描述

html头部解析到了body标签中,所以导致了找不到CSRF的错误。

猜你喜欢

转载自blog.csdn.net/qq_35574191/article/details/78849770