express-rate-limitGrundlimitimitierende Middleware für Express. Verwenden Sie, um wiederholte Anfragen an öffentliche APIs und/oder Endpunkte wie das Zurücksetzen des Kennworts zu beschränken. Spielt gut mit Express-Slow-Down- und Ratelimit-Header-Parser.
Die vollständige Dokumentation ist online verfügbar.
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 )Der Tarifbegrenzer ist mit einem integrierten Speicher geliefert und unterstützt eine Vielzahl externer Datenspeicher.
Alle Funktionsoptionen können asynchronisiert sein. Klicken Sie auf den Namen für zusätzliche Informationen und Standardwerte.
| Option | Typ | Anmerkungen |
|---|---|---|
windowMs | number | Wie lange kann man Anfragen in Millisekunden erinnern. |
limit | number | function | Wie viele Anfragen zuzulassen. |
message | string | json | function | Reaktion auf die Rückkehr nach dem Grenzwert erreicht. |
statusCode | number | Der HTTP -Statuscode nach der Begrenzung (Standard ist 429). |
handler | function | Die Funktion zum Ausführen nach dem Grenzwert wird erreicht (Einstellungen für message und statusCode , falls festgelegt). |
legacyHeaders | boolean | Aktivieren Sie den Header X-Rate-Limit . |
standardHeaders | 'draft-6' | 'draft-7' | 'draft-8' | Aktivieren Sie den Ratelimit -Header. |
identifier | string | function | Name, der mit der Quotenpolitik verbunden ist, die durch diesen Tarifbegrenzer erzwungen wird. |
store | Store | Verwenden Sie einen benutzerdefinierten Speicher, um Trefferzahlen über mehrere Knoten zu teilen. |
passOnStoreError | boolean | Ermöglichen Sie ( true ) oder blockieren ( false , Standard) Verkehr, wenn der Laden nicht verfügbar ist. |
keyGenerator | function | Identifizieren Sie Benutzer (Standardeinstellungen zur IP -Adresse). |
requestPropertyName | string | Fügen Sie dem req -Objekt Ratenlimitinformationen hinzu. |
skip | function | Rückgabe true , um den Limiter für die angegebene Anfrage zu umgehen. |
skipSuccessfulRequests | boolean | UNCOUT 1XX/2xx/3xx Antworten. |
skipFailedRequests | boolean | UNCOUT 4xx/5xx Antworten. |
requestWasSuccessful | function | Wird von skipSuccessfulRequests und skipFailedRequests verwendet. |
validate | boolean | object | Aktivieren oder deaktivieren Sie integrierte Validierungsprüfungen. |
Gesponsert von Zuplo, ein voll verwaltetes API-Gateway für Entwickler. Fügen Sie in wenigen Minuten dynamische Rate, Authentifizierung und mehr API hinzu. Erfahren Sie mehr unter Kuplo.com

Vielen Dank an Mintlify für die Hosting der Dokumentation unter Express-Rate-limit.mintlify.app
Vielen Dank an alle, die in irgendeiner Weise zu diesem Projekt beigetragen haben! ?
Wenn Sie auf einen Fehler stoßen oder etwas hinzugefügt/geändert sehen möchten, öffnen Sie bitte ein Problem! Wenn Sie Hilfe bei etwas brauchen, können Sie eine Diskussion beginnen!
Wenn Sie zur Bibliothek beitragen möchten, danke! Lesen Sie zunächst bitte den leitenden Leitfaden. Dann können Sie jedes Problem abholen und es beheben/implementieren!
Mit © Nathan frittiert, Vedant K.