Exercices B02

Rate Limiting & DDoS — 10 exercices pratiques

Score : 0 / 10
EX1Calcul Fixed Window
Config : max: 10, windowMs: 60000 (1 min). Un client envoie 10 requêtes à 00:00:59. Combien peut-il envoyer à 00:01:01 ?
EX2Calcul Token Bucket
Token bucket : capacité 10 tokens, rechargement 1 token/seconde. Le seau est vide. Combien de requêtes peut-on envoyer après 5 secondes ?
EX3Stratégie — login endpoint
Pour un endpoint /auth/login, quelle stratégie est la plus adaptée contre le brute force ?
EX4Stratégie — API de données
Pour /api/products (catalogue public), quelle stratégie prévient le scraping sans bloquer les utilisateurs normaux ?
EX5Corriger la config
Identifiez le problème de sécurité dans cette configuration :
const limiter = rateLimit({
  windowMs: 1000,
  max: 10000,
});
EX6Config trop permissive
Votre endpoint /auth/password-reset permet d'envoyer des emails. Quelle limite est raisonnable ?
EX7Routes différenciées
Classez ces endpoints du plus restrictif au plus permissif en termes de rate limit :
EX8keyGenerator — utilisateur authentifié
Pour un utilisateur connecté (JWT dans le header), quel keyGenerator est le plus approprié ?
EX9Rate limiting derrière un proxy
Votre API est derrière un load balancer Nginx. req.ip retourne toujours 127.0.0.1. Pourquoi le rate limiting ne fonctionne plus ?
EX10Status code — limite atteinte
Quel code HTTP standard doit renvoyer une API quand la limite de rate est atteinte ?
← Cours B02 🚦 Simulateur B03 →