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!
php laravel routeserviceprovider configureratelimit
Commentami!