Modificare il rate limit in Laravel

Mattepuffo's logo
Modificare il rate limit in Laravel

Modificare il rate limit in Laravel

In Laravel il rate limit è impostato di default a 60.

Diciamo che nella maggior parte dei casi può andar bene, ma in altro sarebbe meglio aumentarlo.

Possiamo farlo semplicemente agendo sul file app/Providers/RouteServiceProvider.

Ecco il mio esempio:

namespace App\Providers;

use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\Route;

class RouteServiceProvider extends ServiceProvider {
 
  public const HOME = '/home';

  public function boot() {
    $this->configureRateLimiting();

    $this->routes(function () {
      Route::middleware('api')
          ->prefix('api')
          ->group(base_path('routes/api.php'));

      Route::middleware('web')
          ->group(base_path('routes/web.php'));
    });
  }

  protected function configureRateLimiting() {
    RateLimiter::for('api', function (Request $request) {
      return Limit::perMinute(500)->by($request->user()?->id ?: $request->ip());
//      return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
    });
  }
}

Enjoy!


Condividi

Commentami!