Skip to content

Commit 11898e7

Browse files
author
TobMoeller
committed
add rate limiter for registration route
1 parent f1ad2dd commit 11898e7

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

routes/routes.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
}
3333

3434
$limiter = config('fortify.limiters.login');
35+
$registrationLimiter = config('fortify.limiters.registration');
3536
$twoFactorLimiter = config('fortify.limiters.two-factor');
3637
$verificationLimiter = config('fortify.limiters.verification', '6,1');
3738

@@ -75,7 +76,10 @@
7576
}
7677

7778
Route::post(RoutePath::for('register', '/register'), [RegisteredUserController::class, 'store'])
78-
->middleware(['guest:'.config('fortify.guard')])
79+
->middleware(array_filter([
80+
'guest:'.config('fortify.guard'),
81+
$registrationLimiter ? 'throttle:'.$registrationLimiter : null,
82+
]))
7983
->name('register.store');
8084
}
8185

stubs/FortifyServiceProvider.php

+4
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,9 @@ public function boot(): void
4242
RateLimiter::for('two-factor', function (Request $request) {
4343
return Limit::perMinute(5)->by($request->session()->get('login.id'));
4444
});
45+
46+
RateLimiter::for('registration', function (Request $request) {
47+
return Limit::perMinute(5)->by($request->ip());
48+
});
4549
}
4650
}

stubs/fortify.php

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
'limiters' => [
118118
'login' => 'login',
119119
'two-factor' => 'two-factor',
120+
'registration' => 'registration',
120121
],
121122

122123
/*

0 commit comments

Comments
 (0)