DEV Community 👩‍💻👨‍💻

Cover image for Laravel 9 - Rate Limiting: Global and for Guests/Users
Sandro Jhuliano Cagara
Sandro Jhuliano Cagara

Posted on

Laravel 9 - Rate Limiting: Global and for Guests/Users

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
    });
});
Enter fullscreen mode Exit fullscreen mode

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
});
Enter fullscreen mode Exit fullscreen mode

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
    });
});
Enter fullscreen mode Exit fullscreen mode

Top comments (0)

Stop sifting through your feed.

Find the content you want to see.

Change your feed algorithm by adjusting your experience level and give weights to the tags you follow.