Rate Limiting
Advanced Ecosystem 🟡 MidDefinition
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.