Penghitung dengan Masa Berlaku
Termasuk bagian Autentikasi dan Keamanan dalam perjalanan Node.js di Coddy. Pelajaran 22 dari 24.
Jendela tetap menghitung percobaan sejak satu waktu awal. Simpan since di samping jumlahnya. Untuk jendela satu menit, jendela tersebut kedaluwarsa saat now - since mencapai 60000 milidetik.
// Jendela waktu sepuluh detik dalam contoh ini
if (now - since >= 10000) {
count = 0;
since = now;
}
count += 1;Selama jendela berlangsung, pertahankan waktu awalnya. Menggesernya setelah setiap percobaan akan terus memperpanjang waktu tunggu. Latihan ini menyediakan now agar kamu bisa menguji batas waktu tanpa menunggu. server yang berjalan memperoleh waktu saat ini dari Date.now(). Proyek login menggunakan catatan { count, since } yang sama.
Tantangan
MudahPerbarui catatan kegagalan satu menit di exercise.js. Jika now - since setidaknya 60000, mulai jendela baru pada now dengan count 1. Jika tidak, tambah count dan pertahankan since. Kembalikan kedua field.
POST {"count":3,"since":0,"now":10000}: hasil yang diharapkan adalah {"count":4,"since":0}. Pada now:60000, hasil yang diharapkan adalah {"count":1,"since":60000}.
GET /result awal menggunakan contoh yang disediakan, yaitu {"count": 2, "since": 1000, "now": 61000}. Gunakan POST /result dengan isi JSON untuk mencoba input lain.
Coba sendiri
export function exercise({ count, since, now }) {
return { count: count + 1, since };
}
Semua pelajaran di Autentikasi dan Keamanan
1Kata Sandi
Byte dan Teks HeksadesimalMembuat Kunci Kata SandiSalt BaruJangan Simpan Kata SandiMembandingkan Byte KunciMemeriksa Kata SandiAturan Pendaftaran4Pemilik dan Keamanan
Hanya CatatanmuPeran AdminLatihan sendiri: Playground Express