特定のエンドポイントすべてへのアクセス回数の設定
app/Providers/RouteServiceProvider.php
ファイル
bootメソッド
初期値では1分間で60回が設定されています。
idまたはipに紐づいています。
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
});
loginに対するレートリミット
ログイン試行回数
app/Http/Requests/Auth/LoginRequest.php
ファイル
ensureIsNotRateLimited
メソッド
初期値では5回が設定されており5回ログインを失敗するとロックされる。
初期状態ではmailまたはipに紐づいています。
if (! RateLimiter::tooManyAttempts($this->throttleKey(), 5)) {
return;
}
ログインロックの時間
app/Http/Requests/Auth/LoginRequest.php
ファイル
authenticate
メソッド
初期値では60秒になっています。
web上ではロックになって初めてエラーとしてここで設定されている時間が確認できますが、最初にログイン試行した際にカウントダウンが始まっており実際に表示される時にはここで設定されている時間からロックされるまでに試行した時間が引かれた数値が表示されているはずです。
RateLimiter::hit($this->throttleKey());