//限制每分钟注册次数不超过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 () {
//
});
});