Hirdetés
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Real Racing 3 - Freemium csoda
- MasterDeeJay: Harc a DDR5 árak ellen
- Viber: ingyen telefonálás a mobilodon
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- djculture: Éhezők ssd és memória viadala.
- bambano: Bambanő háza tája
-
LOGOUT
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
- Gumi és felni topik
- Kedvenc zene a mai napra
- Házimozi belépő szinten
- Milyen robotporszívót vegyek karácsonyra? (2025)
- Azonnali játékos kérdések órája
- Milyen belső merevlemezt vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Kormányok / autós szimulátorok topikja
- Micro Four Thirds
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- További aktív témák...
- Stealth 14 AI Studio A1VFG 14" 2.8K OLED Ultra 7 155H RTX 4060 16GB 512GB NVMe magyar vbill gar
- PC bontás - 1STPLAYER RGB ház, be quiet 550w gold, Z790i Plus ITX + i9-13900H ES, 32Gb, RTX 3070
- Hibás Processzorok! 8-14gen, illetve ryzen
- Apple iPhone 15 128GB gyári független szép állapotban GARANCIA: 1hónap DEÁK TÉRNÉL
- X1 Extreme Gen3 15.6" 4K IPS i7-10850H 32GB DDR4 1TB NVMe ujjlolv IR kam gar
- Keresünk iPhone 12/ 12 Mini/ 12 Pro/12 Pro Max
- HIBÁTLAN iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3285
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7500 / 32GB DDR3 / RTX 2060 6GB / 512GB SSD
- GYÖNYÖRŰ iPhone SE 2020 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3920
- Eladó Honor 400 5G 8/256GB / 12 hó jótállás / AJÁNDÉK KEMÉNY TOK / CSAK KIPRÓBÁLVA VOLT
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

