Giới hạn tỷ lệ đang trở nên quan trọng từng ngày để ngăn chặn các trang web khỏi các cuộc tấn công DOS &DDOS. Giới hạn tỷ lệ ngăn hệ thống khỏi bất kỳ loại yêu cầu giả mạo nào hoặc các cuộc tấn công vũ phu khác. Giới hạn tốc độ giới hạn số lần một IP có thể đưa ra yêu cầu. Giới hạn tốc độ là gói npm để giới hạn số lượng yêu cầu từ người dùng.
Cài đặt mô-đun giới hạn tốc độ
Chạy lệnh dưới đây để cài đặt mô-đun giới hạn tốc độ nhanh trong ứng dụng của bạn.
npm install --save express-rate-limit
Ví dụ
Tạo một tệp với tên - rateLimit.js và sao chép đoạn mã bên dưới. Sau khi tạo tệp, sử dụng lệnh sau để chạy mã này như được hiển thị trong ví dụ bên dưới -
node rateLimit.js
rateLimit.js
// Importing the express dependency const express = require("express"); // Importing the express-rate-limit dependency const rateLimit = require("express-rate-limit"); // Storing the express function in variable application const applicaion = express(); // Calling the ratelimiter function with its options // max: Contains the maximum number of requests // windowsMs: Contains the time in milliseconds to receive max requests // message: message to be shown to the user on rate-limit const limiter = rateLimit({ max: 5, windowMs: 60 * 60 * 1000, message: "Too many request from this IP" }); // Adding the rate-limit function to the express middleware so // that each requests passes through this limit before executing applicaion.use(limiter); // GET route for handling the user requests applicaion.get("/", (req, res) => { res.status(200).json({ status: "SUCCESS", message: "Welcome to TutorialsPoint !" }); }); // Server Setup const port = 8000; applicaion.listen(port, () => { console.log(`app is running on port ${port}`); });
Đầu ra
C:\home\node>> node rateLimit.js
Sau khi chạy ứng dụng nút, hãy truy cập trình duyệt của bạn và nhấn localhost:8000
Bạn sẽ thấy một trang tương tự như hình bên dưới.
Hãy thử nhấn hoặc làm mới cùng một URL hơn 5 lần và bạn sẽ nhận được lỗi bên dưới.