Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在一定的时间限制内阻止api重复请求_Node.js_Api - Fatal编程技术网

Node.js 如何在一定的时间限制内阻止api重复请求

Node.js 如何在一定的时间限制内阻止api重复请求,node.js,api,Node.js,Api,我将RESTAPI与节点js一起使用 我的要求是,如果我在某个时间间隔内收到重复请求,我需要阻止它15分钟(因为令牌在15分钟内过期) 我的条件允许同一个客户端在10秒内只发出15个请求。 一旦您在第11秒内收到来自同一客户机的第16个请求,则该客户机需要被列入黑名单,并从那时起获得禁止状态–直到其令牌过期。 令牌到期时间限制为从令牌创建时起15分钟,这将在节点会话中保持 如何做到这一点,请帮助我任何一个我正在使用下面的方法 var rateLimit = require('express-ra

我将RESTAPI与节点js一起使用

我的要求是,如果我在某个时间间隔内收到重复请求,我需要阻止它15分钟(因为令牌在15分钟内过期)

我的条件允许同一个客户端在10秒内只发出15个请求。 一旦您在第11秒内收到来自同一客户机的第16个请求,则该客户机需要被列入黑名单,并从那时起获得禁止状态–直到其令牌过期。 令牌到期时间限制为从令牌创建时起15分钟,这将在节点会话中保持

如何做到这一点,请帮助我任何一个我正在使用下面的方法

var rateLimit = require('express-rate-limit');
var limiter = rateLimit({/* config */});
app.use('/users', limiter);

我在这里使用默认配置值。如果我重复发送请求,那么它会显示429个请求太多。几秒钟后,其工作无错误响应。在这里,我需要阻止来自同一地点的请求15分钟,15分钟后令牌将过期。然后我想继续这个过程,创建一个新的令牌。

您需要决定两件事:

  • 时限
  • 您希望在该时间限制内允许多少个请求
  • 如果您想将请求限制为每10秒最多15次,您可以这样配置
    express rate limit

    var rateLimit = require('express-rate-limit');
    var limiter = rateLimit({
          windowMs: 10 * 1000, // 10 seconds
          max: 15,
    });
    app.use('/users', limiter);
    

    你需要决定两件事:

  • 时限
  • 您希望在该时间限制内允许多少个请求
  • 如果您想将请求限制为每10秒最多15次,您可以这样配置
    express rate limit

    var rateLimit = require('express-rate-limit');
    var limiter = rateLimit({
          windowMs: 10 * 1000, // 10 seconds
          max: 15,
    });
    app.use('/users', limiter);
    

    谢谢你的回答。令牌到期时间限制为从令牌创建时起15分钟,这将在会话中保持。我的条件允许同一个客户端在10秒内只发出15个请求。一旦您在第11秒内收到来自同一客户机的第16个请求,则该客户机需要被列入黑名单,并从那时起获得禁止状态–直到其令牌过期。我想做的是,我的条件允许在10秒内从同一客户机发出15个请求。一旦您在第11秒内收到来自同一客户机的第16个请求,则该客户机需要被列入黑名单,并从那时起获得禁止状态–直到他们的令牌到期令牌到期时间限制为从令牌创建时起15分钟,这将在会话中保持。感谢您的回答。令牌到期时间限制为从令牌创建时起15分钟,这将在会话中保持。我的条件允许同一个客户端在10秒内只发出15个请求。一旦您在第11秒内收到来自同一客户机的第16个请求,则该客户机需要被列入黑名单,并从那时起获得禁止状态–直到其令牌过期。我想做的是,我的条件允许在10秒内从同一客户机发出15个请求。一旦您在11秒内收到来自同一客户机的第16个请求,则客户机需要被列入黑名单,并从那时起获得禁止状态–直到他们的令牌到期令牌到期时间限制为从令牌创建时起15分钟,这将在会话中维护。