Hirdetés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen okostelefont vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Yettel topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Okosóra és okoskiegészítő topik
- Telekom mobilszolgáltatások
- iPhone topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
-
Mobilarena
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
- Milyen billentyűzetet vegyek?
- Windows 11
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Mibe tegyem a megtakarításaimat?
- Casco és kötelező gépjármű felelősségbiztosítás
- Házimozi haladó szinten
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- Kés topik
- PlayStation 5
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- További aktív témák...
- Dell Latitude 3510 15,6", i5 10210U, 8-16GB RAM, SSD, jó akku, számla, garancia
- Bomba ár! HP EliteBook 2570P - i7-3GEN I 8GB I 128SSD I DVDRW I 12,5" HD I W10 I Garancia!
- AKCIÓ! Nintendo Switch OLED 64GB játékkonzol garanciával hibátlan működéssel
- Yurbuds Ironman fülhallgató
- ÚJ Apple Macbook Air 15,3 M4 10C CPU/10C GPU/16GB/256GB - Ezüst mw1g3mg/a - 3 év gari - MAGYAR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

