服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - laravel 实现关闭CSRF(全部关闭、部分关闭)

laravel 实现关闭CSRF(全部关闭、部分关闭)

2021-09-09 16:08不如喫茶去 PHP教程

今天小编就为大家分享一篇laravel 实现关闭CSRF(全部关闭、部分关闭),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

用了laravel就会知道其中的csrf验证功能,如果post传值的时候,没有csrf_token就会报如下的错误:

laravel 实现关闭CSRF(全部关闭、部分关闭)

这是因5.2之后的版本中会默认在路由里面添加 web 中间件。

在app/Http/Kernel.php文件中有如下配置:

laravel 实现关闭CSRF(全部关闭、部分关闭)

全部关闭

到此,想必大家就知道了如何关闭这个验证了。就是将上图标注的这一行代码注释掉,这样就关闭了csrf验证,但这就全部关闭了。

部分关闭

当我们写接口的时候,会遇到这样的问题:因为通过接口是无法传csrf_token的(csrf_token是在laravel中生成的),我们只想在api请求的时候关闭csrf验证,网站的后台不关闭。

这就需要去修改app\Http\Middleware\VerifyCsrfToken.php这个文件了

文件中有个属性$except,可以设置哪些路由不用做csrf验证,如下我想要api开头的路由都不做csrf验证,只需要添加 ‘api/*' 就行了。

laravel 实现关闭CSRF(全部关闭、部分关闭)

这样我访问 http://***/laravel/public/api/index 就不会报错了。

以上这篇laravel 实现关闭CSRF(全部关闭、部分关闭)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

原文链接:https://blog.csdn.net/qq_32737755/article/details/80923489

延伸 · 阅读

精彩推荐