Laravelでは既定値として、5回ログイン入力に失敗すると、一定時間入力ができなくなる。
ブルートフォースアタックに有効な対策だと思われる。
この設定はどこで調整するのか?
throttleあたりを調べたが、深入りするばかりで時間を無駄にした。
FortifyServiceProvider
が答えだった。簡単に見つけたかった。
App\Provaiders\FortifyServiceProvider.php
RateLimiter::for('login', function (Request $request) {
$email = (string) $request->email;
return Limit::perMinute(5)->by($email.$request->ip());
});
カウントするキーにemailが入っている。
リバース・ブルートフォースアタックに対抗するには、emailを外せばよいと思う。
return Limit::perMinute(5)->by($request->ip());
ただし、IPアドレスだけだと、重複する心配がある、、、
perMinutes()にすると不応期の長さも設定可能。