Laravel限流配置问题:如何实现每5秒仅允许提交一次?
修正Laravel提交限流配置,实现每5秒仅允许1次提交
当前代码的问题在于perSeconds(5)的逻辑是5秒内允许5次提交,和你需要的“每5秒仅能提交1次”完全不符。
只需调整限流规则,设置单次尝试+5秒间隔即可实现需求:
RateLimiter::for('submission', function (Request $request) { return Limit::perAttempts(1)->every(5)->response(function () { return redirect()->back()->with('error', '请等待5秒后再提交。'); }); });
代码说明:
perAttempts(1):指定每个周期内仅允许1次提交尝试every(5):定义这个限制周期为5秒,提交后需等待5秒才能解除限制
这样配置后,用户提交一次内容后,必须等待5秒才能再次提交,彻底避免双击或频繁重复提交的问题。
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

