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

Latest comments (0)

The Complete Guide to Full Stack Web3 Development

The most important tools, protocols, and frameworks for building full stack web3 apps, and most importantly - how to put everything together to lay the groundwork for building out any of your own ideas in the future.