为了提高网站的响应速度,降低服务器的负载,我们经常需要对服务器加防护
所谓频率限制,指的是在指定时间单个用户
对某个路由的访问次数限制
比如限制对一个网址的访问频率
我们可以使用fail2ban
、iptable
s以及nginx
的limit
模块
在 Laravel 中如何实现呢?
我们可以通过内置的 throttle
中间件来实现,该中间件接收两个参数,第一个是次数上限,第二个是指定时间段(单位:分钟):
Route::middleware('throttle:10,1')->group(function () {
Route::get('/user', 'Api\UserController@index');
});
以上路由的含义是一分钟能只能访问路由分组的内路由(如 /user)10 次,超过此限制会返回 429 状态码并提示请求过于频繁。
如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术
转载请注明:laravel中throttle限制访问频率 出自老鄢博客 | 欢迎分享