Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- 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) :)
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- Magga: PLEX: multimédia az egész lakásban
- Geri Bátyó: Agglegénykonyha 10 – Alapanyagok/készételek többféle felhasználása
- urandom0: Száműztem az AI-t az életemből
- djculture: Éhezők ssd és memória viadala.
-
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
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Ez lehet az Apple hajlítható telefonjának formája, mérete
- Elektromos autók - motorok
- Milyen alaplapot vegyek?
- Luck Dragon: Asszociációs játék. :)
- Xiaomi 15 - kicsi telefon nagy energiával
- sziku69: Szólánc.
- Autós topik
- További aktív témák...
- RTX 4070 ti I Ryzen 5 7600X I 2x16gb ddr5 6000mHz
- LAST MINUTE KARÁCSONY! 2 egyforma i7 GAMER GÉP! Ingyenes SOS kiszállítás (Bp.) !!!
- Asus ROG Zephyrus G16 Intel Core Ultra 9 185H/RTX 4060/16GB DDR5/1TB SSD eladó NÁLAM A LEGOLCSÓBBAN!
- MacBook Pro M1 13 inch 8/512GB magyar bill nálam a legolcsóbban
- Fujitsu 27" B27-8 TE Full HD 1920x1080 hófehér monitor állítható magasság, PIVOT, HDMI számla + gar
- GYÖNYÖRŰ iPhone 11 Pro 64GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3565
- Apple iPhone 15 128 GB Kék 12 hónap Garancia Beszámítás Házhozszállítás
- KÉSZLETKISÖPRÉSI ULTRAAKCIÓ!!! SPACE BLACK MacBook Pro 14" M4 10C/10G 16GB 512GB Gar!
- 182 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- BESZÁMÍTÁS! Apple Macbook Air 13 2020 M1 8GB 256GB SSD macbook garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

