Laravel 9 - Rate Limiting: Global and for Guests/Users
Sandro Jhuliano Cagara
Posted on June 20, 2022
You can limit some URL to be called a maximum of 60 times per minute, with throttle:60,1
:
Route::middleware('auth:api', 'throttle:60,1')->group(function () {
Route::get('/path', function () {
// code here
});
});
But also, you can do it separately for public and for logged-in users:
// maximum of 10 requests for guests, 60 for authenticated users
Route::middleware('throttle:10|60,1')->group(function () {
// code here
});
Also, you can have a DB field users.rate_limit and limit the amount for specific user:
Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () {
Route::get('/path', function () {
// code here
});
});
π πͺ π
π©
Sandro Jhuliano Cagara
Posted on June 20, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.