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'));
});
}
ご覧のとおり、1 分間に 5 つのリクエストが表示されます。ただし、最初のリクエストの後に間違ってログインしようとすると、エラーが発生し続けました429: Too Many Requests
。これは、一度しかログインできないためです。
8.0 と 8.1.2 の両方の PHP バージョンを試しました。
アップデート:
Laravel v8も試しました。
開発環境: Laragon も Laradock (docker) で試してみましたが、それでも同じ問題が発生します。