Rate limiting

Mécanisme de sécurité qui limite le nombre de requêtes qu’un utilisateur (ou une IP) peut effectuer sur une ressource donnée dans un laps de temps défini, afin de prévenir les abus automatisés.

Le rate limiting (ou limitation de débit) consiste à restreindre la fréquence des actions (ex. envois de formulaires, tentatives de connexion, requêtes API) provenant d’une même source (IP, session, compte utilisateur) sur une période donnée (ex. 5 requêtes par minute).

Cette mesure vise à détecter et bloquer les comportements anormaux typiques des bots (soumissions massives, attaques par force brute, scraping intensif), tout en préservant une expérience fluide pour les humains, dont le rythme d’interaction reste naturellement limité.

Caractéristiques clés :

  • Transparent pour l’utilisateur légitime
  • Effet dissuasif contre les attaques automatisées
  • Implémentable côté serveur, proxy (ex. Nginx), ou middleware
  • Aucun impact sur l’accessibilité (pas de défi perceptif ou moteur)

Exemples de seuils courants :

  • 3 tentatives de connexion échouées → blocage temporaire
  • 10 soumissions de formulaire par heure par IP
  • 100 requêtes API par minute par token d’authentification

Bonnes pratiques :

  • Fournir un message clair en cas de dépassement (ex. « Trop de tentatives. Réessayez dans 5 minutes. »)
  • Prévoir des exceptions pour les réseaux partagés (écoles, entreprises, bibliothèques) via des listes blanches ou l’identification par compte
  • Coupler avec d’autres mesures (honeypot, vérification temporelle) pour éviter les faux positifs

Limites :

  • Peut affecter les utilisateurs derrière une même IP (NAT, proxies publics)
  • Moins efficace contre les attaques distribuées (DDoS, botnets à IP multiples)

Usage éthique : technique sobre, décentralisable, sans recours à des services externes — s’intègre parfaitement dans une infrastructure auto-hébergée (ex. via Nginx, Apache mod_evasive, ou règles DDEV/OmniTools).

Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.