用了laravel就会知道其中的csrf验证功能,如果post传值的时候,没有csrf_token就会报如下的错误:
这是因5.2之后的版本中会默认在路由里面添加 web 中间件。
在app/Http/Kernel.php文件中有如下配置:
到此,想必大家就知道了如何关闭这个验证了。就是将上图标注的这一行代码注释掉,这样就关闭了csrf验证,但这就全部关闭了。
部分关闭
当我们写接口的时候,会遇到这样的问题:因为通过接口是无法传csrf_token的(csrf_token是在laravel中生成的),我们只想在api请求的时候关闭csrf验证,网站的后台不关闭。
这就需要去修改app\Http\Middleware\VerifyCsrfToken.php这个文件了
文件中有个属性$except,可以设置哪些路由不用做csrf验证,如下我想要api开头的路由都不做csrf验证,只需要添加 ‘api/*’ 就行了。
这样我访问 http://***/laravel/public/api/index 就不会报错了。
以上这篇laravel 实现关闭CSRF(全部关闭、部分关闭)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持华域联盟。
您可能感兴趣的文章:
- Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
- laravel框架中表单请求类型和CSRF防护实例分析
- 对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
- laravel csrf排除路由,禁止,关闭指定路由的例子
- Laravel框架中VerifyCsrfToken报错问题的解决
- laravel csrf验证总结
声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。




评论(0)