Hirdetés
- GoodSpeed: Egy bihari a Hajdúságban
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: Pillangóhatás: F billentyű meghibásodása -új gamer számítógépasztal
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- gerner1
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
LOGOUT
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
- HiFi műszaki szemmel - sztereó hangrendszerek
- Linux kezdőknek
- BestBuy ruhás topik
- exHWSW - Értünk mindenhez IS
- Milyen alaplapot vegyek?
- DUNE médialejátszók topicja
- One otthoni szolgáltatások (TV, internet, telefon)
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Melyik tápegységet vegyem?
- Tőzsde és gazdaság
- További aktív témák...
- iPhone 12 Pro 128GB gyári független új akku fizikai dual SIM!!!
- Samyang AF 85mm f/1.4 FE II objektív Sony E
- Eladó egy igazi ritkaság Dell UltraSharp 32" 8K Monitor - UP3218K
- eladó Dell U4320Q Monitor 42.5 " 3840 x 2160 (4K UHD)
- Új Bontatlan Lenovo ThinkPad P16v Gen2 Mobil Munkaállomás -50% Ultra 7 165H 32/1TB RTX 2000 8GB 30Hó
- Bomba ár! Dell Vostro 3560 - i3-3120M I 8GB I 320GB I DVDRW I 15,6" HD I HDMI I Cam I Garancia!
- Garmin USB ANT Stick jeladó eladó
- 12 GB-os Quadro RTX A2000 kártyák - garanciával
- HIBÁTLAN iPhone 14 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3528, 93% Akkumulátor
- GYÖNYÖRŰ iPhone 12 Mini 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3635,95% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

