
Bonnes pratiques de sécurité
Helmet, CORS, rate limiting, sanitization des inputs, SQL injection, XSS, CSRF
1Qu'est-ce que Helmet dans le contexte de NestJS ?
Qu'est-ce que Helmet dans le contexte de NestJS ?
Réponse
Helmet est un middleware qui configure automatiquement les headers HTTP de sécurité pour protéger les applications contre les vulnérabilités courantes. Il active des headers comme X-Frame-Options, Content-Security-Policy, X-Content-Type-Options pour prévenir XSS, clickjacking et MIME sniffing. Helmet est une best practice essentielle en production pour renforcer la surface de sécurité.
2Quel est le rôle principal de CORS dans une API ?
Quel est le rôle principal de CORS dans une API ?
Réponse
CORS (Cross-Origin Resource Sharing) permet de contrôler quels domaines externes peuvent accéder aux ressources de l'API. Sans configuration CORS, les navigateurs bloquent les requêtes provenant de domaines différents pour des raisons de sécurité. Configurer CORS correctement évite les erreurs d'accès tout en maintenant la sécurité. Utiliser des listes blanches d'origines autorisées plutôt qu'autoriser tous les domaines avec wildcard.
3Quelle est la meilleure approche pour protéger une API contre les attaques par force brute ?
Quelle est la meilleure approche pour protéger une API contre les attaques par force brute ?
Réponse
Le rate limiting limite le nombre de requêtes par IP ou utilisateur sur une période donnée, empêchant les attaques automatisées par force brute. Des packages comme throttler-module dans NestJS permettent de configurer facilement des limites globales ou par endpoint. Combiner rate limiting avec des stratégies progressives (blocage temporaire croissant) et CAPTCHA pour les endpoints sensibles. Le rate limiting protège aussi contre les dénis de service.
Qu'est-ce qu'une attaque XSS (Cross-Site Scripting) ?
Comment protéger une application NestJS contre les injections SQL ?
+22 questions d'entretien
Autres sujets d'entretien Node.js / NestJS
Fondamentaux Node.js
APIs Core Node.js
Programmation asynchrone
Bases Express.js
Fondamentaux NestJS
Conception d'API REST
Validation et DTO
Documentation d'API
Gestion des erreurs
Tests unitaires
Planification de tâches
Modules et DI NestJS
Configuration et environnements
Authentification JWT
Autorisation et RBAC
Base de données avec TypeORM
Prisma ORM
Middleware et Interceptors
Upload de fichiers
WebSockets
GraphQL avec NestJS
Tests end-to-end
Cache avec Redis
Files d'attente avec Bull
DevOps, Logging et CI/CD
Docker et Containerization
Microservices
Performance et Déploiement Cloud
Maîtrise Node.js / NestJS pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement