-
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
- Linux kezdőknek
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Vezeték nélküli fejhallgatók
- Androidos tablet topic
- Synology NAS
- Debrecen és környéke adok-veszek-beszélgetek
- Horgász topik
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Automata kávégépek
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- További aktív témák...
- Huawei Nova 9 SE 128GB, Kártytafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro Max Graphite 128GB használt karcmentes 100% új akku 6 hónap garancia
- Apple iPhone 17 Pro 1TB Bontatlan Független Összes Szín / 27% áfás ár INGYENES SZÁLLÍTÁS
- Hp ProDesk/ EliteDesk SFF/MT G4/ G5/ G6 / i5 8-9-10.gen /Win11- Számla, garancia
- Yurbuds Ironman fülhallgató
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
