1
我正在使用Rest API和節點js。如何在一定的時間內阻止api重複請求
我的要求是,如果我在特定的時間間隔內重複請求,我需要阻止它15分鐘(因爲令牌在15個薄荷糖中過期)。
我的條件只允許來自同一個客戶端的10個請求中的15個請求。 一旦您從第11秒鐘收到來自同一客戶端的第16個請求,則客戶端需要被列入黑名單,並從此時開始處於禁止狀態 - 直至其令牌過期。 令牌到期時間限制是從令牌創建時間開始的15個薄荷糖,這將在節點會話中維護。
如何做到這一點,請幫助我,我用下面的方法
var rateLimit = require('express-rate-limit');
var limiter = rateLimit({/* config */});
app.use('/users', limiter);
我在這裏使用默認的配置值的任何一個。如果我發送重複請求,那麼它說429-太多請求。幾秒鐘後,它的工作沒有錯誤響應。在這裏,我需要阻止來自同一地點的請求15分鐘,15分鐘後令牌將過期。然後我想繼續這個過程,創建一個新的令牌。
感謝您的回答。 令牌到期時間限制是從令牌創建時起的15個薄荷糖,這將在會話中保持。 我的條件只允許來自同一客戶端的10秒內發出15次請求。 一旦您從第11秒鐘收到來自同一客戶端的第16個請求,則客戶端需要被列入黑名單,並從此時開始處於禁止狀態 - 直到其令牌過期 – raj
謝謝,請參閱上述更新的答案。 – duncanhall
我想爲此做什麼 我的條件只允許來自同一個客戶端的10個請求中的15個請求。一旦您在第11秒內從同一客戶端收到第16個請求,則需要將客戶端列入黑名單,並從此時開始處於禁止狀態 - 直至其令牌過期 令牌過期時間限制爲從令牌創建時起15個薄荷糖,這將在會議中保持。 – raj