//限制每分鐘註冊次數不超過5次
Route::middleware('throttle:5,1')->group(function () {
Route::post('register', 'UserController@register');
});
訪問控制
Laravel 包含了一個 中間件 用於控制應用程序對路由的訪問。如果想要使用,請將 throttle 中間件分配給一個路由或一個路由組。throttle 中間件會接收兩個參數,這兩個參數決定了在給定的分鐘數內可以進行的最大請求數。 例如,讓我們指定一個經過身份驗證並且用戶每分鐘訪問頻率不超過 60 次的路由:
Route::middleware('auth:api', 'throttle:60,1')->group(function () {
Route::get('/user', function () {
//
});
});
動態訪問控制
你可以根據已驗證的 User 模型的屬性指定動態請求的最大值。 例如,如果你的 User 模型包含 rate_limit 屬性,則可以將屬性名稱傳遞給 throttle 中間件,以便它用於計算最大請求計數:
Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () {
Route::get('/user', function () {
//
});
});