Menu
CoddyTech

Başarısız Denemeleri Sayma

Coddy'nin Node.js Journey'sinin Kimlik Doğrulama ve Güvenlik bölümünün bir parçası. Ders 21 / 24.

Bir giriş sınırlayıcının, başarısız denemeleri istekler arasında hatırlaması gerekir. Map, değerleri anahtarlar altında saklar. Bir hesaptaki başarısız denemelerin başka bir hesabı etkilememesi için her kullanıcı adını anahtar olarak kullan.

const counts = new Map();
const old = counts.get('bo') ?? 0;
counts.set('bo', old + 1);

counts.get(key), anahtar bulunamadığında undefined döndürür; bu nedenle yedek değer, sayımı sıfırdan başlatır. Sunucu çalıştığı sürece Map'i korumak için istek işlevinin dışında tut. Bu alıştırmadaki her istek, başarısız bir denemeyi temsil eder. Süre sonu ayrı bir adım olacak; bu Map şu anda Run sunucuyu yeniden başlatana kadar saymaya devam eder.

challenge icon

Görev

Kolay

Bu küçük bir alıştırma projesidir. Kurulumu sağlanmıştır; yalnızca exercise.js dosyasını düzenle.

Verilen kullanıcı adı için sayacı artır ve sonucu count içinde döndür. {"username":"ada"} değerini /result adresine iki kez gönder: sayaç sırasıyla 1 ve 2 olur. bo göndermek 1 verir; ada'yı tekrar göndermek 3 verir.

Map'i kendin oluştur ve ikinci isteğin ilk sayacı görebileceği bir yere yerleştir. Run düğmesine tekrar basmak sunucuyu yeniden başlatır ve bu bellek içi depoyu temizler.

Kendin dene

// Sayımların saklandığı depoyu, istekler arasında korunacağı yerde oluşturun.
export function exercise({ username }) {
    return { count: 0 };
}

Kimlik Doğrulama ve Güvenlik bölümündeki tüm dersler

Kendi başına pratik yap: Express playground