Laravel 5.6更改电子邮件地址重置登录限制



laravel的登录限制出现了一个奇怪的问题。我设置了变量:

public $maxAttempts = 5;
public $decayMinutes = 3;

在Auth/LognController.php中,并覆盖sendLockoutResponse函数,如下所示:

protected function sendLockoutResponse(Request $request) {
$seconds = $this->limiter()->availableIn(
$this->throttleKey($request)
);
$minutes = floor($seconds / 60);
$seconds = $seconds % 60;
return back()->with('authError', 'Wait ' . $minutes . ' minutes and ' . $seconds . ' seconds.');
}

当我使用错误的凭据尝试5次登录失败时,我可以在页面上看到AuthError消息。如果我继续使用相同的电子邮件地址,我会继续看到秒数和分钟数减少。但如果我更改电子邮件,整个油门就会重置。我还有5次失败的尝试。

我的问题是:如果laravel根据IP地址确定用户的登录尝试,并使用缓存对其进行轮询,为什么更改电子邮件会重置登录限制?

PS my.env值为:

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_SECURE_COOKIE=false
QUEUE_DRIVER=database

Laravel文档共享内置节流的详细信息

https://laravel.com/docs/5.7/authentication#login-节流

正如你所看到的,IP和电子邮件地址的组合用于跟踪的登录尝试

我想,如果多个用户从同一个IP登录,他们就不会被锁定/阻止

如果你想让它以不同的方式,你需要将其更改为使用ID或类似功能

相关内容

最新更新