Rate Limiting
NestJS 🟡 MidDefinition
Mecanisme qui limite le nombre de requetes par client dans une fenetre de temps. Implementable via @nestjs/throttler pour proteger contre les abus.
Analogie
Comme un portillon de metro : 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
Proteger les endpoints de login ou d'API publique contre le brute force et les abus.
Anti-pattern
Ne pas limiter les endpoints sensibles comme /login, permettant les attaques par force brute.