-
Fototrend
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
- Új Razer Blade 16 QHD+ OLED 240Hz i9-14900HX 24mag 32GB 1TB Nvidia RTX 4080 12GB 175W Win11 Garancia
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 FE
- Bomba ár! Lenovo ThinkPad X280 - i7-8550U I 16GB I 512SSD I 12,5" I HDMI I Cam I W11 I Gari!
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B760M i5 14400 16GB DDR5 512GB SSD RX 6700 XT 12GB Lian LI LANCOOL 207 GIGABYTE 750W
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

