我正在使用带有节点js的Rest API。
我的要求是,如果我在一定时间间隔内收到重复请求,我需要将其阻止15分钟(因为令牌在15分钟内过期)。
我的条件仅允许来自同一客户端的10秒钟内的15个请求。 一旦你在同一个客户端的第11秒收到第16个请求,那么客户端需要被列入黑名单并从那时起获得Forbidden状态 - 直到他们的Token到期为止。 从令牌创建时起,令牌到期时限为15分钟,这将在节点会话中保持。
如何实现这一目标,请帮助我使用以下任何一种方法
var rateLimit = require('express-rate-limit');
var limiter = rateLimit({/* config */});
app.use('/users', limiter);
我在这里使用默认配置值。如果我发送重复请求,则表示429-Too Many Requests。几秒钟后,它的工作没有错误响应。在这里,我需要阻止来自同一地方的请求15分钟,15分钟后令牌将过期。然后我想继续这个过程,创建一个新令牌。
答案 0 :(得分:0)
你需要决定两件事:
如果您希望每10秒将请求限制为最多15个,则可以像这样配置21
Vauxhall
Corsa
red
19
Vauxhall
Corsa
blue
18
Vauxhall
Corsa
White
:
express-rate-limit