Rate Limiting

NestJS 🟡 Mid

Definition

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.

Termes lies

#security#interview