Flask Academy · Lektion

Requests mit Flask-Limiter drosseln

Wenden Sie Ratenlimits pro Route und global an.

Lektion 1 von 413 Schritte

Requests mit Flask-Limiter drosseln ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum überhaupt drosseln

Ohne Begrenzungen kann ein einzelner Client Ihre API überfluten und allen anderen Ressourcen entziehen. Rate Limiting begrenzt, wie oft ein Aufrufer Ihre Routen ansprechen darf.

Flask-Limiter kennenlernen

Das gängige Werkzeug dafür ist die Erweiterung Flask-Limiter. Sie überwacht eingehende Anfragen und weist Aufrufer ab, die ihr Kontingent überschreiten.

Installation

Sie fügen die Erweiterung wie jede andere mit pip hinzu. Ein Paket stellt Decorators und Konfiguration zum Begrenzen des Datenverkehrs bereit.

pip install Flask-Limiter

Den Aufrufer identifizieren

Ein Limiter benötigt einen Schlüssel, nach dem er zählen kann. Üblicherweise wird dafür die Client-IP über die integrierte Hilfsfunktion get_remote_address verwendet.

from flask_limiter.util import get_remote_address

Den Limiter erstellen

Sie erstellen einen Limiter und binden ihn an Ihre App. Die Schlüssel-Funktion legt fest, welchem Aufrufer jede Anfrage zugerechnet wird.

limiter = Limiter(get_remote_address, app=app)

Ein Standardlimit festlegen

Eine Liste mit default_limits wendet gleichzeitig eine Begrenzung auf jede Route an. Sie dient als Sicherheitsnetz für die gesamte Anwendung.

limiter = Limiter(get_remote_address, app=app,
    default_limits=["200 per day", "50 per hour"])

Limits pro Route

Mit dem Decorator @limiter.limit können Sie einen einzelnen Endpunkt strenger begrenzen. Diese Route erhält eine eigene, strengere Regel.

@app.route("/login")
@limiter.limit("5 per minute")
def login():
    ...

Den Limit-String lesen

Der String liest sich wie normales Englisch. 5 per minute bedeutet, dass ein Aufrufer diese Route fünfmal pro Minute ansprechen darf.

"5 per minute"

Was 429 bedeutet

Wenn ein Aufrufer die Begrenzung überschreitet, gibt Flask-Limiter 429 Too Many Requests zurück. Das ist die höfliche Aufforderung, langsamer zu machen.

Eine Route ausnehmen

Einige Endpunkte, etwa ein Health Check, sollten niemals gedrosselt werden. Kennzeichnen Sie sie mit @limiter.exempt, um alle Limits zu überspringen.

@app.route("/health")
@limiter.exempt
def health():
    return "ok"

Ein gemeinsames Backend verwenden

In der Produktion führen Sie mehrere App-Prozesse aus. Daher müssen die Zähler in einem gemeinsamen storage_uri wie Redis und nicht im Arbeitsspeicher gespeichert werden.

Limiter(get_remote_address, app=app,
    storage_uri="redis://localhost:6379")

Kurzer Check

Wählen Sie den Status aus, den ein gedrosselter Client erhält.

Zusammenfassung

Sie haben Flask-Limiter hinzugefügt, Limits nach IP festgelegt, Standard- und Routenlimits konfiguriert, Health Checks ausgenommen und die 429-Antwort kennengelernt. Gute Arbeit!

Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Requests mit Flask-Limiter drosseln“ kostenlos?

Ja — der vollständige Text von „Requests mit Flask-Limiter drosseln“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Requests mit Flask-Limiter drosseln“?

Wenden Sie Ratenlimits pro Route und global an. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Requests mit Flask-Limiter drosseln“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Requests mit Flask-Limiter drosseln
  2. CORS für Browser-Clients konfigurieren
  3. Sicherheitsheader und HTTPS
  4. Eingaben zur Verhinderung von Injection validieren
← Zurück zu Flask Academy