HTML Entities Encoder / Decoder

Encodez des caractères HTML non sécurisés en entités et décodez les entités en retour en caractères.

Processed in your browserNo upload, no signup

Text

0 lines · 0 chars

Escaped

0 lines · 0 bytes
Votre entrée est traitée localement et n'est pas téléchargée pour traitement. Vérifiez en ouvrant DevTools → Network.

HTML Entities Encoder / Decoder exemples.

// Échapper HTML

// Déséchapper entités

Questions fréquentes.

Pourquoi échapper le HTML ?

Pour prévenir les attaques XSS et assurer que le contenu s'affiche correctement.

Pourquoi l'échappement HTML est important

Certains caractères ont une signification particulière en HTML : < et > définissent les balises, & initie les entités, et " et ' délimitent les attributs. Lorsque ces caractères apparaissent dans du contenu texte, ils doivent être échappés pour que le navigateur les affiche correctement.

Sans échappement, le navigateur interprète le & dans "Matrikel & Prüfung" comme le début d'une entité et tente de la résoudre. Le résultat est un texte mal représenté ou même invisible.

L'échappement est la première et la plus fondamentale protection contre le Cross-Site Scripting (XSS). Lorsque les entrées utilisateur sont insérées sans échappement dans une page HTML, les attaquants peuvent introduire du code JavaScript arbitraire.

Protection XSS vs. Échappement

L'échappement HTML seul protège contre les attaques XSS simples en convertissant < et > en leurs formes d'entité &lt; et &gt;. Cela fait que le code inséré est affiché comme du texte normal et n'est pas exécuté.

Pour des cas d'utilisation plus complexes, l'échappement ne suffit pas. Des outils comme DOMPurify nettoient l'entrée HTML en profondeur, ne permettant que les balises et attributs autorisés et supprimant le code potentiellement dangereux.

La meilleure stratégie combine les deux approches : les entrées utilisateur sont échappées lors de l'insertion dans des zones HTML, et lors du traitement de HTML riche, une sanitization supplémentaire est effectuée.

Entités nommées vs. numériques

HTML propose deux façons de représenter les caractères spéciaux sous forme d'entités : les entités nommées comme &amp; pour & et &lt; pour <, et les entités numériques comme &#60; pour < et &#x3C; pour la même valeur en hexadécimal.

Les entités nommées sont plus lisibles et sont préférées lorsqu'elles sont disponibles. Il n'y a qu'un nombre limité d'entités nommées – les plus importantes sont &amp;, &lt;, &gt;, &quot; et &apos;.

Les entités numériques peuvent représenter n'importe quel code de caractères Unicode et sont donc universellement applicables. Pour les caractères sans entité nommée, la variante numérique est la seule option.

Outils connexes.