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.
Görev
KolayBu 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
1Şifreler
Baytlar ve Onaltılık MetinParola Anahtarı TüretmeYeni Bir TuzParolaları Asla SaklamayınAnahtar Baytlarını KarşılaştırmaParolayı DoğrulamaKayıt Kuralları4Sahiplik ve Güvenlik
Yalnızca NotlarınızYönetici RolleriKendi başına pratik yap: Express playground