laravel中throttle限制访问频率

为了提高网站的响应速度,降低服务器的负载,我们经常需要对服务器加防护

所谓频率限制,指的是在`指定时间单个用户`对某个路由的访问次数限制

比如限制对一个网址的访问频率

我们可以使用`fail2ban`、`iptable`s以及`nginx`的`limit`模块

在 Laravel 中如何实现呢?

我们可以通过内置的 `throttle` 中间件来实现,该中间件接收两个参数,第一个是次数上限,第二个是指定时间段(单位:分钟):

>Route::middleware('throttle:10,1')->group(function () {
Route::get('/user', 'Api\\UserController@index');
});

以上路由的含义是一分钟能只能访问路由分组的内路由(如 /user)10 次,超过此限制会返回 429 状态码并提示请求过于频繁。

    A+
发布日期:2020年11月03日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: