React / Next.js

Sécurité & Best Practices React

XSS prevention, CSRF protection, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanitization

22 questions d'entretien·
Senior
1

Qu'est-ce qu'une attaque XSS (Cross-Site Scripting) ?

Réponse

Une attaque XSS consiste à injecter du code JavaScript malveillant dans une application web pour l'exécuter dans le navigateur d'autres utilisateurs. L'attaquant exploite les failles de validation ou d'échappement des données pour voler des cookies, des tokens de session, ou effectuer des actions non autorisées. React offre une protection native en échappant automatiquement les valeurs JSX, mais des vulnérabilités subsistent avec dangerouslySetInnerHTML ou lors de la manipulation directe du DOM.

2

Comment React protège-t-il contre les attaques XSS par défaut ?

Réponse

React échappe automatiquement toutes les valeurs insérées via JSX en les convertissant en texte brut avant le rendu. Cette protection empêche l'exécution de scripts malveillants même si du code HTML est injecté dans les données. Contrairement à innerHTML qui interprète et exécute le HTML, React traite les balises comme du texte simple, rendant impossible l'injection de JavaScript malveillant via les props ou le state standard.

3

Pourquoi dangerouslySetInnerHTML est-il considéré comme dangereux en React ?

Réponse

Cette propriété contourne la protection XSS native de React en insérant du HTML brut directement dans le DOM sans échappement. Si le contenu provient d'une source non fiable ou d'une API externe, il peut contenir du JavaScript malveillant qui sera exécuté. Le nom explicite dangerouslySetInnerHTML force les développeurs à reconnaître consciemment le risque de sécurité et à mettre en place une sanitization appropriée avec des bibliothèques comme DOMPurify.

4

Quelle est la différence principale entre une attaque XSS Stored et Reflected ?

5

Quelle approche privilégier pour afficher du HTML provenant d'une API externe en React ?

+19 questions d'entretien

Maîtrise React / Next.js pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement