Laravel 登录和注册:登录限制(防暴力破解)
如果你使用 Laravel 内置的 LoginController
类,Illuminate\Foundation\Auth\ThrottlesLogins
trait 已经包含在该控制器中了。默认情况下,如果用户多次尝试却无法提供正确的登录凭据,那么该用户在一分钟内将不能再次尝试登录。这种限流策略基于用户的用户名 / 邮箱地址及其 IP 地址的唯一性。
自定义最多尝试次数
系统已为我们提供了限制功能,那么如何自定义每分钟内最多可尝试的次数呢。
找到 Illuminate\Foundation\Auth\ThrottlesLogins
trait ,我们可以看到这个方法。
/**
* Get the maximum number of attempts to allow.
*
* @return int
*/
public function maxAttempts()
{
return property_exists($this, 'maxAttempts') ? $this->maxAttempts : 5;
}
由于 LoginController
默认继承了这个方法,我们可以很方便的在 LoginController
中加上:
protected $maxAttempts = 2;
其中 2
可以改为自定义最多尝试次数。
推荐文章: