ログインの試行回数に上限を設定したい!
概要 何度もパスワード間違えんじゃねえ! 攻撃対策にも
手順
以下の設定だけ- app\Providers\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) { return Limit::perMinutes(1,1)->by($request->email.$request->ip()); }); //↑ここまで RateLimiter::for('two-factor', function (Request $request) { return Limit::perMinute(5)->by($request->session()->get('login.id')); }); }
※ RateLimiter::for('制限するレート名', function (Request $request) {
※ Limit::perMinutes(ロックする時間, 許容する試行回数)
byでメソッドチェインをすると特定のIPからのアクセスを制限する、などの処理を追加できる
※ エラーページはresources\views\errors\429.blade.phpを編集
それか、confgig の loginのに試行回数を設定する
- 参考