Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- gerner1
- RIOS Gépház: Alap vagy Profi? Két új üzleti előfizetés debütál a Hardveraprón!
- eBay-es kütyük kis pénzért
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Andras-G: #Kószagondolat - eMag tapasztalatok 2026-ban
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- 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
- Eladó Független Samsung Galaxy S23 SM-S911B/DS apró hibával
- 16GB DDR4 3200Mhz ram
- Supra LoRad 2.5 Silver Anniversary edition 1,5 m
- HP EliteBook 840 G7 i5-10310U - TOUCH 16GB RAM 256GB NVMe világítós billentyűzet, üzleti laptop
- Philips 34" 34M2C3500L/00 WQHD VA 180Hz HDMI/DP ívelt gamer monitor (019)
- ÓRIÁSI BOMBA AKCIÓK! PSN, STEAM, UBISOFT CONNECT, EA APP, XBOX EREDETI KULCSOK 100% GARANCIA
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060 (ELKELT)
- HIBÁTLAN iPhone 13 Mini 256GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4673
- Lenovo X1 Carbon 13,3" - i5 7300U, 8GB RAM, SSD, jó akku - számla, 6 hó gar
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3732
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
