Rate Limiting

Advanced Ecosystem 🟡 Mid

Definition

Mécanisme qui limite le nombre de requêtes qu'un client peut faire dans une fenêtre de temps. Protège contre les abus, DDoS et scraping.

Analogie

Un distributeur de tickets qui ne donne qu'un ticket par minute par personne pour éviter la bousculade.

Exemple de code

import rateLimit from 'express-rate-limit';
app.use('/api/', rateLimit({
  windowMs: 15 * 60 * 1000, // 15 min
  max: 100, // 100 requests per window
  standardHeaders: true,
  message: 'Too many requests',
}));

Cas d'usage

Protéger les endpoints d'authentification et les API publiques contre les abus automatisés.

Anti-pattern

Rate limiter uniquement par IP sans tenir compte des utilisateurs authentifiés derrière un proxy.
#security#performance