การจำกัดอัตราเป็นกลยุทธ์ที่คุณสามารถใช้เพื่อควบคุมการรับส่งข้อมูลบนเครือข่าย จำกัดจำนวนคำขอที่ผู้ใช้สามารถทำได้ภายในกรอบเวลาที่กำหนด
มีอัลกอริธึมการจำกัดอัตราที่หลากหลาย ซึ่งแต่ละอันมีการแลกเปลี่ยนของตัวเอง วิธีหนึ่งที่ง่ายและเป็นที่นิยมคือการติดตามที่อยู่ IP ของคำขอและตรวจสอบว่าเวลาผ่านไปเท่าใดระหว่างคำขอ จากนั้นระบบสามารถปฏิเสธคำขอได้หากที่อยู่ IP เกินจำนวนคำขอที่อนุญาต
คลิปวิดีโอประจำวันนี้
วิธีการจำกัดอัตรานี้สร้างได้ง่ายในแอป NodeJS-Express ด้วยขั้นตอนเพียงไม่กี่ขั้นตอน
ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อมการพัฒนา
ขั้นแรก คุณจะต้องสร้างและเริ่มต้นแอปพลิเคชัน Express
วิธีดูประวัติข้อความบน iphone
เริ่มต้นด้วยการสร้างไดเร็กทอรีโครงการโดยเรียกใช้:
mkdir express-app
จากนั้นป้อนไดเรกทอรีนั้นโดยเรียกใช้:
cd express-app
ถัดไป เริ่มต้น npm ตัวจัดการแพ็คเกจโหนด และสร้าง a package.json ไฟล์ในแอปพลิเคชันของคุณโดยเรียกใช้:
npm init -y
ดิ -Y ธงจะสร้าง .ของคุณ package.json ไฟล์ที่มีการตั้งค่าเริ่มต้นทั้งหมด
ถัดไป คุณจะต้องติดตั้งการพึ่งพา การพึ่งพาที่จำเป็นสำหรับบทช่วยสอนนี้คือ:
- ExpressJS: ExpressJS เป็นเฟรมเวิร์ก NodeJS ที่มีชุดคุณสมบัติที่แข็งแกร่งสำหรับเว็บและแอปพลิเคชันมือถือ ช่วยลดความยุ่งยากในกระบวนการสร้างแอปพลิเคชันแบ็กเอนด์ด้วย NodeJS
- ขีด จำกัด อัตราด่วน : ขีดจำกัดอัตราด่วนคือมิดเดิลแวร์จำกัดอัตราสำหรับ ExpressJS โดยจำกัดคำขอซ้ำ ๆ ให้กับ API สาธารณะและ/หรือปลายทาง เช่น การรีเซ็ตรหัสผ่าน การเข้าสู่ระบบของผู้ใช้ ฯลฯ
ติดตั้งการพึ่งพาที่จำเป็นโดยเรียกใช้:
npm install express express-rate-limit
ขั้นตอนที่ 2: การสร้างแอปพลิเคชันด่วน
คุณจะต้องสร้างเซิร์ฟเวอร์ Express พื้นฐานที่รับฟังคำขอที่ส่งไปยังแอปพลิเคชันของคุณ
ขั้นแรก สร้าง an index.js ไฟล์ในไดเร็กทอรีรากของโครงการของคุณ นี่จะเป็นไฟล์รายการสำหรับการสมัครของคุณ
ถัดไป เพิ่มรหัสต่อไปนี้ใน your index.js ไฟล์:
// index.js
const express = require("express");
const app = express();
const port = process.env.PORT || 3000
app.listen(port, () => {
console.log(`App running on port ${port}`);
});
รหัสนี้นำเข้า ด่วน และสร้างแอปพลิเคชัน Express โดยการเรียก express() และเก็บค่าส่งคืนใน แอป ตัวแปร. จากนั้นจะฟังการรับส่งข้อมูลบนพอร์ต 3000 โดยเรียก ฟัง วิธีการ แอป วัตถุ.
ขั้นตอนที่ 3: การสร้างตัวจัดการเส้นทาง
ขั้นต่อไป ให้สร้างตัวจัดการเส้นทางที่คุณสามารถปรับใช้โซลูชันการจำกัดอัตรา
ขั้นแรก สร้างโฟลเดอร์ เส้นทาง ในไดเร็กทอรีรากของโปรเจ็กต์ของคุณโดยเรียกใช้:
mkdir routes
สร้างไฟล์ เส้นทาง.js ภายในโฟลเดอร์เส้นทางของคุณและเพิ่มรหัสต่อไปนี้:
จะทำอย่างไรถ้า Facebook ของคุณถูกแฮ็ก
const express = require("express");
const router = express.Router();
router.get("/", (req, res) => {
res.send({ message: "Hello, this is a GET request" });
});
router.post("/add-demo", (req, res) => {
res.status(201).send({ message: "Resource created successfully" });
});
router.put("/update-demo", (req, res) => {
res.status(201).send({ message: "Resource updated sucessfully" });
});
module.exports = router;
รหัสนี้นำเข้า ด่วน เรียก เราเตอร์ วิธีการ ด่วน และเก็บค่าไว้ในตัวแปร เราเตอร์ . ดิ เราเตอร์ method ให้คุณสร้างตัวจัดการเส้นทางแบบโมดูลาร์ที่ยึดได้ คุณสามารถสร้างตัวจัดการเส้นทางสำหรับ a รับ ร้องขอให้ “ / ” อะ โพสต์ ร้องขอให้ “ /add-สาธิต ” และ ใส่ ร้องขอให้ “ /update-สาธิต ” สุดท้ายส่งออก เราเตอร์ ตัวแปร.
ถัดไป นำเข้า เราเตอร์ ตัวแปรในของคุณ index.js ไฟล์:
// index.js
const routes = require("./routes/routes");
จากนั้น ใช้เป็นมิดเดิลแวร์ในไฟล์ index.js ของคุณ:
// index.js
app.use(routes);