可以根据路由限制请求数吗?



我有api密钥并向其他服务发送请求,我想限制请求的数量。我是否可以在laravel中限制特定路由上的请求数量,但限制所有用户,尽管他们的ip?

使用laravel油门中间件

对于laravel 5,6,7使用this

Route::post('api/api-key','ApiController@getKey')->middleware('throttle:60,1');

for Laravel 8

Route::post('api/api-key',[ApiController::class,'getKey'])->middleware('throttle:60,1');

有关api-key的更多限制,请阅读本文

经过几个小时的搜索,我在laravel文档中找到了答案。

你可以像这样限制每条路由的请求数

RateLimiter::for('uploads', function (Request $request) {
    return Limit::perMinute(1000)->response(function () {
        return response('Custom response...', 429);
    });
});

Route::middleware(['throttle:uploads'])->group(function () {
  Route::post('/audio', function () {
  
  });
}

相关内容

  • 没有找到相关文章

最新更新