Computer >> Máy Tính >  >> Lập trình >> Javascript

Tích hợp giới hạn tốc độ cấp tốc trong Node.js

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.

Tích hợp giới hạn tốc độ cấp tốc trong Node.js

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.

Tích hợp giới hạn tốc độ cấp tốc trong Node.js