我希望将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);
发布于 2020-02-27 22:34:37
express-rate-limit的工作原理如下:
如果您在1秒内提出了第一个请求
你的第五个请求在第二天6号
然后它会阻止你发出更多的请求,直到11秒(你的第一个请求时间+ 10秒)
Not second 16(你的最后一个请求时间+ 10秒)
但总体来说,它运行良好。
https://stackoverflow.com/questions/60433031
复制相似问题