Bộ đếm tự hết hạn
Thuộc phần Xác thực và bảo mật trong hành trình Node.js của Coddy. Bài học 22 trên 24.
Khung thời gian cố định tính số lần thử kể từ một thời điểm bắt đầu. Lưu since cùng với số lần thử. Với khung thời gian một phút, khung sẽ hết hạn khi now - since đạt 60000 mili giây.
// Khoảng thời gian 10 giây trong ví dụ này
if (now - since >= 10000) {
count = 0;
since = now;
}
count += 1;Trong khung thời gian, hãy giữ nguyên thời điểm bắt đầu ban đầu. Nếu cập nhật thời điểm đó sau mỗi lần thử, bạn sẽ liên tục kéo dài thời gian chờ. Bài luyện tập này cung cấp now để bạn có thể kiểm tra ranh giới mà không cần chờ. Máy chủ đang chạy lấy thời gian hiện tại từ Date.now(). Dự án đăng nhập sử dụng cùng bản ghi { count, since }.
Thử thách
DễCập nhật bản ghi lỗi trong một phút trong exercise.js. Nếu now - since lớn hơn hoặc bằng 60000, hãy bắt đầu một khoảng thời gian mới tại now với số lượng là 1. Nếu không, hãy tăng số lượng và giữ nguyên since. Trả về cả hai trường.
POST {"count":3,"since":0,"now":10000}: kết quả mong đợi là {"count":4,"since":0}. Tại now:60000, kết quả mong đợi là {"count":1,"since":60000}.
Lệnh GET /result ban đầu sử dụng ví dụ được cung cấp {"count": 2, "since": 1000, "now": 61000}. Dùng POST /result với nội dung JSON để thử các đầu vào khác.
Tự làm thử
export function exercise({ count, since, now }) {
return { count: count + 1, since };
}
Tất cả bài học trong Xác thực và bảo mật
1Mật khẩu
Byte và văn bản hexTạo khóa từ mật khẩuSalt mớiKhông bao giờ lưu mật khẩuSo sánh các byte của khóaKiểm tra mật khẩuQuy tắc đăng ký4Quyền sở hữu và an toàn
Chỉ ghi chú của bạnVai trò quản trị viên2Phiên làm việc và cookie
Ghi nhớ bằng cookieTra cứu phiênPhiên đăng nhậpĐịnh tuyến sau khi đăng nhậpTự luyện tập: Playground Express