-
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
- Hálózati / IP kamera
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Belépőszintű M.2-es SSD-t prezentált a Team Group a PCI Express 4.0-s halmazban
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Elemlámpa, zseblámpa
- Világ Ninjái és Kódfejtői, egyesüljetek!
- ThinkPad (NEM IdeaPad)
- Sorozatok
- Kerékpárosok, bringások ide!
- Synology NAS
- További aktív témák...
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1165G7 16/512 Iris Xe FHD
- ASUS ROG Gaming PC 14900K // RTX 5070 Ti // 32GB RAM
- Kedvező áron! Eladó TP-Link TL-SG2008P Omada SDN POE+ Alza Gari 2029.11
- Eladó Unifi US-8-60W POE Switch
- 8 DARAB! HP ELITEBOOK LAPTOP (Tartós, Elnyűhetetlen) 850 G8, 840 G8, 840 G9, 830 G8 x360
- GYÖNYÖRŰ iPhone 16 128GB Ultramarine -1 ÉV GARANCIA - Kártyafüggetlen, MS3097, 100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RX 6900XT 16GB / 32GB DDR5 / 1TB SSD
- Apple iPhone 13 128GB Kártyafüggetlen 1 év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB DDR5 RAM RTX 5070 12GB GAMER termékbeszámítással
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W docking station (3TR87AA)
Állásajánlatok
Cég: FOTC
Város: Budapest