Skip to main content
Category:

Rate Limiting: Global and for Guests/Users in Laravel

 

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('/user', function () {
             // TODO
         });
});

 

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 () {
        //
});

 

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('/user', function () {
            //
       });
});

Riadh Rahmi

Senior Web Developer PHP/Drupal & Laravel

I am a senior web developer, I have experience in planning and developing large scale dynamic web solutions especially in Drupal & Laravel.

Web Posts

Search

Page Facebook