Hirdetés
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Külföldi prepaid SIM-ek itthon
- Apple Watch
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy Watch7 - kötelező kör
- Jolla és SailfishOS tapasztalatcsere
- iPhone topik
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Jim-Y
veterán
Köszi,
Hát ezt egy kicsit későn láttam meg, közben előálltam egy béta verzióval saját kútfőből, de le fogom cserélni az általad linkelt elegánsabb megoldásra.
Azért, mert tudom, hogy így illik, a megoldás:
const { AuthError, LoginError } = require('blabla');
const THRESHOLD_OF_TRIES = 3; // 3 tries until drop
const DEFAULT_TIMEOUT = 300000; // 5mins in milliseconds
const cache = {};
module.exports = function * rateLimiter(next) {
const user = this.request.body.email;
if (cache[user] != null && cache[user].tries >= THRESHOLD_OF_TRIES && Date.now() < cache[user].dropUntil) {
this.throw(423); // Locked for 5 mins
}
else if (cache[user] != null && cache[user].tries >= THRESHOLD_OF_TRIES && Date.now() > cache[user].dropUntil) {
delete cache[user];
}
try {
yield next;
}
catch (err) {
if (err instanceof AuthError || err instanceof LoginError) {
if (!cache[user]) {
cache[user] = {
tries: 1,
dropUntil: null
};
}
else {
cache[user].tries++;
if (cache[user].tries >= THRESHOLD_OF_TRIES) {
cache[user].dropUntil = Date.now() + DEFAULT_TIMEOUT;
}
}
this.throw(err);
}
console.error(err);
}
};
Új hozzászólás Aktív témák
- Dell G15 5511 i7-11800H / RTX 3050 Ti 4GB / 16GB RAM / 512GB NVMe 15,6" FHD 120Hz WVA
- Eladó Apple iPhone 11 128GB piros (PRODUCT RED) színben
- Samsung Galaxy S25 512GB HIBÁTLAN!ÚJSZERŰ!Kártyafüggetlen
- Iphone 13 White 128Gb újszerű állapot, független
- Apple MacBook Air 2025 13.6" M4 10C/8C - 256 SSD - 16GB RAM - 3 ÉV GARANCIA
- Dell Latitude 5430 14" Touchscreen i5-1235U 16GB 512GB 1 év garancia
- AKCIÓ! Sony Playstation 5 PRO 2TB Digital játékkonzol garanciával extrákkal hibátlan működéssel
- Bomba ár! Lenovo ThinkPad L380 i3-8G I 8GB I 128SSD I 13,3" FHD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 Pro 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS3235
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

