讨论数量:
看下这个,看有帮助没
在 Laravel 中,你可以限制某些路由的请求频率。下面是一段文档中的例子。
Route::middleware('auth:api', 'throttle:60,1')->group(function () {
Route::get('/user', function () {
//
});
});
在上面的例子中,用户对该分组下的路由每分钟只能请求 60 次。这个非常棒的功能是通过 throttle 中间件实现的。但是,某些情况下这种控制还不够,特别是你想通过其他的条件来控制频率的时候。而这,正是动态访问控制大展身手的时候。下面是来自文档中的另一段示例代码:
Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () {
Route::get('/user', function () {
//
});
});
同样的,也使用 throttle 中间件,同时将频率设置为 1。但是,实际的请求计数并不依赖于这里的设置,而是传递一个属性名称。在这个例子中,rate_limit 是你用户表的的一个字段,它被用于计算最大请求计数。这样,就能实现针对不同用户来设置不同的请求频率。例如:你需要为不同订阅计划的用户分配不同的频率。
推荐文章: