L'assainissement est une fonctionnalité de sécurité fondamentale dans Angular qui aide à prévenir les attaques de script intersite (XSS). Les attaques XSS se produisent lorsqu'un attaquant injecte du code malveillant dans votre application, généralement par le biais de champs de saisie d'utilisateur. Angular contrecarre cela grâce à un processus connu sous le nom d'assainissement.
L'assainissement, dans le contexte de la sécurité web, est le processus de nettoyage des données d'entrée pour assurer qu'elles sont sûres à afficher. Angular execute automatiquement cet assainissement chaque fois qu'il lit des données qui ont été liées à une propriété HTML.
Angular traite les valeurs que vous lui donnez comme étant sûres par défaut. Cependant, lorsqu'il s'agit d'insérer des valeurs directement dans le DOM, Angular applique l'assainissement pour vous. Par exemple, si vous liez une valeur à une propriété HTML comme textContent
, le système d'assainissement d'Angular s'assurera que cette valeur n'inclut pas de code script malveillant.
<div [textContent]="valeur"></div>
Dans l'exemple ci-dessus, Angular s'assurera que valeur
ne contient pas de code script malveillant avant de l'insérer dans le DOM.
Bien que le système d'assainissement d'Angular soit robuste, il y a certaines pratiques que vous pouvez suivre pour maximiser la sécurité de votre application :
Évitez d'utiliser directement innerHTML
: L'utilisation de innerHTML
peut ouvrir votre application à des vulnérabilités XSS si elle n'est pas utilisée avec prudence, car elle n'applique pas d'assainissement.
Utilisez toujours l'assainissement par défaut : Angular a les bonnes pratiques de sécurité intégrées dès le départ. Ne désactivez jamais l'assainissement par défaut sans une raison valable et sans comprendre les risques potentiels.
Réfléchissez bien avant de marquer une valeur comme sûre : Angular fournit des méthodes pour marquer explicitement une valeur comme sûre et contourner l'assainissement. Cependant, ces méthodes ne doivent être utilisées que si vous êtes absolument certain que le code est sûr et provient d'une source de confiance.
L'assainissement est une fonctionnalité de sécurité puissante et essentielle pour toute application Angular. En comprenant comment il fonctionne et en suivant ces bonnes pratiques, vous pouvez aider à prévenir efficacement les attaques XSS sur votre application.