express-rate-limitมิดเดิลแวร์ จำกัด อัตราพื้นฐานสำหรับ Express ใช้เพื่อ จำกัด การร้องขอซ้ำไปยัง API สาธารณะและ/หรือจุดสิ้นสุดเช่นการรีเซ็ตรหัสผ่าน เล่นได้ดีด้วยการเลื่อนลงอย่างรวดเร็วและ Ratelimit-Header-Parser
เอกสารฉบับเต็มมีอยู่ออนไลน์
import { rateLimit } from 'express-rate-limit'
const limiter = rateLimit ( {
windowMs : 15 * 60 * 1000 , // 15 minutes
limit : 100 , // Limit each IP to 100 requests per `window` (here, per 15 minutes).
standardHeaders : 'draft-8' , // draft-6: `RateLimit-*` headers; draft-7 & draft-8: combined `RateLimit` header
legacyHeaders : false , // Disable the `X-RateLimit-*` headers.
// store: ... , // Redis, Memcached, etc. See below.
} )
// Apply the rate limiting middleware to all requests.
app . use ( limiter )ตัว จำกัด อัตรามาพร้อมกับที่เก็บหน่วยความจำในตัวและรองรับร้านค้าข้อมูลภายนอกที่หลากหลาย
ตัวเลือกฟังก์ชั่นทั้งหมดอาจเป็น async คลิกชื่อสำหรับข้อมูลเพิ่มเติมและค่าเริ่มต้น
| ตัวเลือก | พิมพ์ | ข้อสังเกต |
|---|---|---|
windowMs | number | ระยะเวลาที่จะจดจำคำขอในมิลลิวินาที |
limit | number | function | มีคำขออนุญาตให้ใช้กี่ครั้ง |
message | string | json | function | การตอบสนองต่อการส่งคืนหลังจากถึงขีด จำกัด |
statusCode | number | รหัสสถานะ HTTP หลังจากถึงขีด จำกัด (ค่าเริ่มต้นคือ 429) |
handler | function | ฟังก์ชั่นที่จะเรียกใช้หลังจากถึงขีด จำกัด (แทนที่ message และการตั้ง statusCode หากตั้งค่า) |
legacyHeaders | boolean | เปิดใช้งานส่วนหัว X-Rate-Limit |
standardHeaders | 'draft-6' | 'draft-7' | 'draft-8' | เปิดใช้งานส่วนหัว Ratelimit |
identifier | string | function | ชื่อที่เกี่ยวข้องกับนโยบายโควต้าที่บังคับใช้โดยตัว จำกัด อัตรานี้ |
store | Store | ใช้ร้านค้าที่กำหนดเองเพื่อแบ่งปันจำนวน Hit ในหลายโหนด |
passOnStoreError | boolean | อนุญาต ( true ) หรือบล็อก ( false , ค่าเริ่มต้น) หากร้านค้าไม่พร้อมใช้งาน |
keyGenerator | function | ระบุผู้ใช้ (ค่าเริ่มต้นไปยังที่อยู่ IP) |
requestPropertyName | string | เพิ่มข้อมูลขีด จำกัด อัตราลงในวัตถุ req |
skip | function | ส่งคืน true เพื่อข้ามตัว จำกัด สำหรับคำขอที่กำหนด |
skipSuccessfulRequests | boolean | การตอบกลับ 1xx/2xx/3xx |
skipFailedRequests | boolean | การตอบกลับ 4xx/5xx |
requestWasSuccessful | function | ใช้โดย skipSuccessfulRequests และ skipFailedRequests |
validate | boolean object | เปิดหรือปิดการตรวจสอบการตรวจสอบในตัว |
ได้รับการสนับสนุนจาก Zuplo A API Gateway ที่จัดการอย่างเต็มที่สำหรับนักพัฒนา เพิ่มการ จำกัด อัตราแบบไดนามิกการรับรองความถูกต้องและอื่น ๆ ใน API ใด ๆ ในไม่กี่นาที เรียนรู้เพิ่มเติมได้ที่ zuplo.com

ขอบคุณ mintlify สำหรับการโฮสต์เอกสารที่ Express-Rate-Limit.mintlify.app
ในที่สุดขอขอบคุณทุกคนที่มีส่วนร่วมในโครงการนี้ แต่อย่างใด! -
หากคุณพบข้อผิดพลาดหรือต้องการเห็นสิ่งที่เพิ่ม/เปลี่ยนแปลงโปรดไปข้างหน้าและเปิดปัญหา! หากคุณต้องการความช่วยเหลือเกี่ยวกับบางสิ่งอย่าลังเลที่จะเริ่มการสนทนา!
หากคุณต้องการมีส่วนร่วมในห้องสมุดขอบคุณ! ก่อนอื่นโปรดอ่านคู่มือการสนับสนุน จากนั้นคุณสามารถรับปัญหาใด ๆ และแก้ไข/นำไปใช้!
MIT © Nathan Friedly, Vedant K