Flask Academy · Leçon

Limiter les requêtes avec Flask-Limiter

Appliquez des limites de débit par route et globales.

Leçon 1 sur 413 étapes

Limiter les requêtes avec Flask-Limiter est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.

Pourquoi limiter le débit ?

Sans limites, un client peut inonder votre API et priver tous les autres de ressources. La limitation du débit plafonne la fréquence à laquelle un appelant peut accéder à vos routes.

Découvrez Flask-Limiter

L’outil de référence est l’extension Flask-Limiter. Elle surveille les requêtes entrantes et rejette les appelants qui dépassent leur quota.

Installez-le

Vous l’ajoutez comme n’importe quelle autre extension avec pip. Un seul paquet vous fournit les décorateurs et la configuration nécessaires pour limiter le trafic.

pip install Flask-Limiter

Identifiez l’appelant

Un limiteur a besoin d’une clé pour effectuer le comptage. Le choix habituel est l’adresse IP du client, obtenue avec l’utilitaire intégré get_remote_address.

from flask_limiter.util import get_remote_address

Créez le limiteur

Vous créez un Limiter et l’associez à votre application. La fonction de clé détermine à quel appelant chaque requête est attribuée.

limiter = Limiter(get_remote_address, app=app)

Définissez une limite par défaut

Une liste default_limits applique simultanément une limite à toutes les routes. C’est votre filet de sécurité pour toute l’application.

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

Limites par route

Renforcez la protection d’un seul point de terminaison avec le décorateur @limiter.limit. Cette route reçoit sa propre règle, plus stricte.

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

Lire la chaîne de limite

La chaîne se lit comme une phrase ordinaire. 5 per minute signifie qu’un appelant peut accéder cinq fois à cette route chaque minute.

"5 per minute"

Que signifie 429 ?

Lorsqu’un appelant dépasse la limite, Flask-Limiter renvoie 429 Too Many Requests. C’est une manière courtoise de lui dire de ralentir.

Exemptez une route

Certains points de terminaison, comme une vérification de bon fonctionnement, ne doivent jamais être limités. Marquez-les avec @limiter.exempt pour ignorer toutes les limites.

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

Utilisez un stockage partagé

En production, vous exécutez plusieurs processus d’application : les compteurs doivent donc être stockés dans un storage_uri partagé, comme Redis, et non en mémoire.

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

Vérification rapide

Choisissez le statut reçu par un client dont le débit est limité.

Récapitulatif

Vous avez ajouté Flask-Limiter, basé les limites sur l’IP, défini des limites par défaut et par route, exempté les vérifications de bon fonctionnement et appris la réponse 429. Beau travail !

Gratuit pour commencer

Apprends Python avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Limiter les requêtes avec Flask-Limiter » est-elle gratuite ?

Oui — le texte complet de « Limiter les requêtes avec Flask-Limiter » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Limiter les requêtes avec Flask-Limiter » ?

Appliquez des limites de débit par route et globales. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Flask Academy ?

Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Limiter les requêtes avec Flask-Limiter » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?

Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Limiter les requêtes avec Flask-Limiter
  2. Configurer CORS pour les clients de navigateur
  3. En-têtes de sécurité et HTTPS
  4. Valider les entrées pour empêcher les injections
← Retour à Flask Academy