我希望将POST
个请求命中限制为每个用户会话每10秒5个请求。
我已经实施了快递限速器,但是我能够实现5个以上的请求。直到4-5秒,它将阻止请求。但是在那之后,我又能够满足更多请求。
下面是代码:
const ThrottleLimiter = require("express-rate-limit");
const limiter = ThrottleLimiter({
windowMs: 10000,
max: 5,
headers: false,
handler:(req,res,next)=>{
res.status(HTTP.tooManyRequests.code).json(HTTP.tooManyRequests);
}
});
app.post("/*", limiter);
答案 0 :(得分:0)
express-rate-limit的工作原理如下:
如果您在第二秒1中提出了第一个请求
还有第二个6的第5个请求
那么它将阻止您发出更多请求,直到第二个11(您的第一个请求时间+ 10秒)
和不秒16(您的上次请求时间+ 10秒)
但平均效果很好