我刚刚安装了 Laravel 9 和 Laravel Fortify。但是,登录功能的速率限制不正确。
FortifyServiceProvider.php
public function boot()
{
Fortify::createUsersUsing(CreateNewUser::class);
Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);
Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);
Fortify::resetUserPasswordsUsing(ResetUserPassword::class);
RateLimiter::for('login', function (Request $request) {
$email = (string) $request->email;
return Limit::perMinute(5)->by($email.$request->ip());
});
RateLimiter::for('two-factor', function (Request $request) {
return Limit::perMinute(5)->by($request->session()->get('login.id'));
});
}
如您所见,它每分钟显示五个请求。但是,每当我在第一次请求后尝试错误登录时,它一直给我一个错误429: Too Many Requests
。这是因为它只允许我登录一次。
我尝试了两个 PHP 版本,8.0 和 8.1.2。
更新:
我还尝试了 Laravel v8。
开发环境:Laragon 也尝试过使用 Laradock (docker) 但仍然是同样的问题。