Limiter les requêtes avec Flask-Limiter
Appliquez des limites de débit par route et globales.
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-LimiterIdentifiez 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_addressCré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 !
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
- Limiter les requêtes avec Flask-Limiter
- Configurer CORS pour les clients de navigateur
- En-têtes de sécurité et HTTPS
- Valider les entrées pour empêcher les injections