- Fejhallgató erősítő és DAC topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- SSD kibeszélő
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen billentyűzetet vegyek?
- Vezeték nélküli fejhallgatók
- Azonnali VGA-s kérdések órája
- Melyik tápegységet vegyem?
- Milyen monitort vegyek?
- Kormányok / autós szimulátorok topikja
-
PROHARDVER!
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
- exHWSW - Értünk mindenhez IS
- Fejhallgató erősítő és DAC topik
- Mibe tegyem a megtakarításaimat?
- PlayStation 5
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Milyen okostelefont vegyek?
- World of Tanks - OFF topic
- Kerékpárosok, bringások ide!
- BestBuy topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Honor Pad 9 Snapdragon 6 Gen 1 (2024) 8GB/128GB szép állapot
- Samsung Galaxy Watch 4 LTE 6 hónap Garancia Beszámítás Házhozszállítás
- REFURBISHED - DELL Universal Dock D6000 (452-BCYH) (DisplayLink)
- AKCIÓ! 1TB Kingston Fury Renegade NVMe SSD meghajtó garanciával hibátlan működéssel
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

