Laravel 5.1 即使禁用了 csrf 保护,也会抛出 csrf 令牌不匹配异常
Laravel 5.1 throws csrf token mismatch exception even thought csrf protection is disabled
我已经将我们的 login/register 路由设置为专门不使用 csrf 保护。表单没有 csrf 令牌字段。我已经告诉 Laravel 不要在 VerifyCsrfToken 中间件中检查这些路由:
protected $except = [
'/login',
'/register'
];
public function handle($request, Closure $next)
{
foreach ($this->except as $except) {
if ($request->is($except)) {
return $next($request);
}
}
return parent::handle($request, $next);
}
然而我在使用这些路由时遇到 csrf 异常。知道这是怎么发生的吗?
编辑:我还没有解决问题,但我注意到绕过 csrf 保护可以在我的本地环境中使用相同的代码库,但在我们的暂存环境中不行。这很奇怪。如果有人有理论请告诉我,谢谢。
只需删除前导斜杠
所以而不是
protected $except = [
'/login',
'/register'
];
放这个
protected $except = [
'login',
'register'
];
希望对您有所帮助
我已经将我们的 login/register 路由设置为专门不使用 csrf 保护。表单没有 csrf 令牌字段。我已经告诉 Laravel 不要在 VerifyCsrfToken 中间件中检查这些路由:
protected $except = [
'/login',
'/register'
];
public function handle($request, Closure $next)
{
foreach ($this->except as $except) {
if ($request->is($except)) {
return $next($request);
}
}
return parent::handle($request, $next);
}
然而我在使用这些路由时遇到 csrf 异常。知道这是怎么发生的吗?
编辑:我还没有解决问题,但我注意到绕过 csrf 保护可以在我的本地环境中使用相同的代码库,但在我们的暂存环境中不行。这很奇怪。如果有人有理论请告诉我,谢谢。
只需删除前导斜杠 所以而不是
protected $except = [
'/login',
'/register'
];
放这个
protected $except = [
'login',
'register'
];
希望对您有所帮助