laravel中throttle限制访问频率

发布时间:2020-11-03 20:15:25 阅读:1957次

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

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

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

我们可以使用fail2baniptables以及nginxlimit模块

在 Laravel 中如何实现呢?

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

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

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

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:laravel中throttle限制访问频率 出自老鄢博客 | 欢迎分享