La limitation de débit est un contrôle de sécurité fondamental qui restreint le nombre de requêtes qu'un utilisateur ou IP peut faire dans une période donnée. Elle est essentielle pour prévenir les abus.
Qu'est-ce que la Limitation de Débit?
La limitation de débit contrôle le nombre de requêtes qu'un client peut faire à votre service dans une fenêtre de temps spécifiée. Cela empêche les abus de submerger vos ressources.
Une limitation de débit efficace équilibre la sécurité (bloquer les attaques) avec la facilité d'utilisation (ne pas bloquer les utilisateurs légitimes).
Stratégies de Limitation de Débit
Fenêtre Fixe
Compter les requêtes dans des intervalles de temps fixes (par ex., 100 requêtes par minute). Simple mais peut permettre des rafales aux limites de fenêtre.
Fenêtre Glissante
Lisser les allocations de requêtes au fil du temps, empêchant l'abus aux limites.
Token Bucket
Permettre des rafales tout en maintenant un taux moyen à long terme. Bon pour les APIs avec des modèles d'utilisation variables.
Meilleures Pratiques d'Implémentation
- Superposer les Limites de Débit - Appliquer différentes limites aux niveaux réseau, application et utilisateur
- Ajuster par Réputation - Limites plus strictes pour les IPs avec de mauvais scores de réputation
- Retourner les En-têtes Appropriés - Inclure les en-têtes retry-after et remaining-requests pour les clients légitimes
Améliorer la Limitation de Débit avec la Réputation
Utilisez l'API Fraudcache pour appliquer des limites plus strictes aux IPs suspectes.