【发布时间】:2021-05-12 02:40:55
【问题描述】:
在 Laravel 中,您可以限制某些请求。例如,您可以通过中间件或 RateLimiter 将登录请求限制为每分钟最多 5 次尝试:
RateLimiter::for('login', function (Request $request) {
return (new Limit('login', '5', 1))
->by($request->email.$request->ip());
});
在此代码示例中,'5' 表示每分钟的最大请求数,1 表示衰减分钟数(每次达到限制时,用户将被锁定 1 分钟)。
但是,每次达到限制时如何增加decayMinutes?例如,您如何每次将这个金额翻倍?
【问题讨论】:
-
用你想要的行为创建一个新的
Limit类 -
感谢@N69S 的回复。我正在考虑实现它,但 Laravel 没有提供开箱即用的功能?
标签: laravel authentication throttling laravel-sanctum laravel-fortify