-
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
- Diablo IV
- Xiaomi 17 - még mindig tart
- AMD Navi Radeon™ RX 9xxx sorozat
- balojazz: Szódakészítés üzembiztosan és olcsón! Figyelem, csak hardcore szódázóknak!
- suste: Openwrt Barrier Breaker 14.07 saját verzió Tp-link routerekre
- Milyen routert?
- Elektromos autók - motorok
- Nvidia GPU-k jövője - amit tudni vélünk
- Home server / házi szerver építése
- Milyen billentyűzetet vegyek?
- További aktív témák...
- Újra raktáron! MacBook Pro 14" M1 32GB RAM 27%-os áfás számla
- BESZÁMÍTÁS! Apple MacBook Air 13 M1 8GB RAM 256GB SSD notebook garanciával hibátlan működéssel
- S22 Ultra 256/12 Dobozában
- Azonnali készpénzes Intel i3 i5 i7 i9 12/13/14 gen processzor felvásárlás személyesen / csomagküldés
- Használt Apple A1243 EMC2171 német kiosztású vezetékes billentyűzet / 12 hónap jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
