怎么在dev环境禁用laravel的csrf功能

Laravel默认会为POST、PUT、DELETE等请求启用CSRF(跨站请求伪造)验证功能,为了在开发环境中使用Postman等工具进行测试,我们可以临时禁用CSRF验证:

1. 在App\Http\Kernel.php文件里的$middlewareGroups数组中,注释或者删除’csrf’ middleware:

'api' => [
// 'throttle:60,1',
// 'bindings',
// 'csrf',
],

2. 另一种方法是在Http\Middleware\VerifyCsrfToken.php 中的handle方法返回true:

public function handle($request, Closure $next)
{
return $next($request);
}

3. Laravel也提供了一个全局属性APP_ENV来判断当前环境:

if(app()->environment('local')) {
// 禁用CSRF
}

4. Postman中设置Request Header添加 X-CSRF-TOKEN字段,取值 csrf-token的值。

以上方法可以临时在开发环境禁用CSRF功能,目的是方便使用Postman等工具进行接口测试。

在生产环境中,仍需要保留CSRF验证功能以防止跨站请求攻击。

所有用户都可以去薅羊毛,192元充值200元话费!先到先得!导航栏话费充值,正规可靠,快充慢充自由选择。
欧阳逸资源站 » 怎么在dev环境禁用laravel的csrf功能

发表评论