Rate Limiting
NestJS 🟡 MidDéfinition
Mécanisme qui limite le nombre de requêtes par client dans une fenêtre de temps. Implémentable via @nestjs/throttler pour protéger contre les abus.
Analogie
Comme un portillon de métro : il ne laisse passer qu'un certain nombre de personnes par minute.
Exemple de code
@Module({
imports: [ThrottlerModule.forRoot([{
ttl: 60000,
limit: 10,
}])],
})
export class AppModule {}
@UseGuards(ThrottlerGuard)
@Controller('auth')
export class AuthController {}
Cas d'usage
Protéger les endpoints de login ou d'API publique contre le brute force et les abus.
Anti-pattern
Termes liés
En entretien
Comment tu protégerais un endpoint de login contre le brute force ?
Avec du rate limiting via @nestjs/throttler, en configurant un ttl et un limit dans ThrottlerModule, puis en appliquant ThrottlerGuard sur le controller - comme un portillon de métro qui ne laisse passer qu'un certain nombre de personnes par minute. Ça limite le nombre de requêtes par client dans une fenêtre de temps donnée.
Quel est le risque si on ne limite pas les endpoints sensibles comme /login ?
C'est l'anti-pattern identifié : ne pas limiter /login permet les attaques par force brute sur les mots de passe. Le rate limiting protège justement les endpoints de login ou d'API publique contre les abus.
Fiche mise à jour le 2026-09-27