Outils de développement · Échappement d'entité HTML
Les cinq caractères auxquels vous devez échapper en HTML et pourquoi chacun d'entre eux est dangereux
· Comment ça marche
html codage sécurité
L'échappement HTML se résume à cinq caractères : & < > " et '. Cet article explique le rôle que chacun joue dans le balisage, pourquoi la liste dépend du contexte et comment l'entité de chacun est choisie.
Le commentaire qui a fermé une balise plus tôt — un < et > parasite qui a transformé le texte d'un utilisateur en balisage
Le commentaire qui a fermé une balise plus tôt – un < et un > parasites qui ont transformé le texte d'un utilisateur en balisage. L’implémentation mappe toujours l’esperluette, les valeurs inférieures à, supérieures à, les guillemets doubles et les apostrophes. L'apostrophe devient le numéro de référence décimal 39, tandis que les quatre autres utilisent des formes nommées familières.
Pour vérifier les caractères d'échappement HTML, construisez le commentaire qui s'est fermé pour un développeur rendant le texte soumis par l'utilisateur dans une page. Conservez une balise au début pendant que la politique à cinq caractères produit des parasites et cela s'est transformé ; identifier où le texte d'un utilisateur est consommé. L'observation concernant le balisage appartient uniquement au texte HTML.
& d'abord, toujours : pourquoi le caractère d'échappement lui-même doit être échappé et que se passe-t-il si vous l'ignorez
& d'abord, toujours - pourquoi le caractère d'échappement lui-même doit être échappé et que se passe-t-il si vous l'ignorez. Une seule boucle de point de code évite les bogues d'ordre de remplacement : une esperluette introduite par un remplacement antérieur n'est plus jamais visitée, de sorte que l'encodeur n'échappe pas à sa propre sortie au cours du même passage.
Un développeur qui rend le texte soumis par l'utilisateur dans une page peut toujours tester d'abord pourquoi le caractère d'échappement en enregistrant lui-même doit être adopté avant que la politique à cinq caractères soit adoptée. Comparez être échappé et ce qui suit et localisez l'analyseur responsable de ce qui se passe si vous sautez. Ce résultat de caractères d'échappement HTML l'explique, pas les contextes exécutables.
< et > dans le contenu texte — comment le tokenizer décide qu'une balise a commencé et pourquoi > est échappé principalement pour des raisons de symétrie
< et > dans le contenu texte — comment le tokenizer décide qu'une balise a commencé et pourquoi > est échappé principalement pour des raisons de symétrie. Inférieur à démarre le balisage dans le texte HTML. Supérieur à est codé de manière cohérente même si son danger dépend de l'état de l'analyseur, ce qui rend la sortie prévisible lorsque les extraits se déplacent entre le texte et les attributs cités.
Isoler et dans le contenu du texte dans un court échantillon de stratégie de cinq caractères. Montrez comment le tokenizer décide en tant que source littérale, suivez une balise qui a commencé jusqu'à sa destination, nommez la lecture de l'API et pourquoi elle est échappée. Pour les caractères d'échappement HTML, la symétrie reste principalement une preuve liée à l'analyseur.
Citations dans les valeurs d'attribut - " et ' et pourquoi le délimiteur d'attribut que vous utilisez décide lequel est critique
Citations dans les valeurs d'attribut — " et ' et pourquoi le délimiteur d'attribut que vous utilisez décide lequel est critique. Les deux caractères de guillemets sont codés quel que soit le délimiteur qui entoure un attribut. Cela est conservateur pour les attributs HTML cités, mais cela ne valide pas les noms d'attribut, les schémas ou les langues en aval.
Traitez les guillemets dans les valeurs d'attribut comme une expérience de limite. Un développeur qui rend le texte soumis par l'utilisateur dans une page doit conserver et pourquoi, effectuer une opération de politique à cinq caractères et inspecter le délimiteur d'attribut que vous utilisez caractère par caractère avant de changer pour décider lequel. L'allégation concernant les arrêts critiques à cette couche HTML.
Exemple pratique : échappement d'un extrait contenant les cinq – les entités produites et le résultat rendu
Exemple concret : échappement d'un extrait contenant les cinq – les entités produites et le résultat rendu. Pour l'apostrophe d'entrée & < > ", chaque mode renvoie & < > " '. Les espaces ordinaires restent des espaces et les cinq remplacements apparaissent dans l'ordre source.
Reproduisez un exemple concret en échappant à une entrée inoffensive au lieu du matériel du client. Enregistrez un extrait contenant les cinq, observez les entités produites et comptez chaque adoption intentionnelle de politique à cinq caractères. Cette piste de caractères d'échappement HTML permet à un développeur de rendre le texte soumis par l'utilisateur dans une page, d'évaluer le résultat rendu et les preuves de politique à cinq caractères sans deviner.
Formes nommées ou numériques — " versus " et " versus ", et qui sont sûres dans les anciens analyseurs
Formes nommées ou numériques — " versus " et " versus ", et qui sont sûres dans les analyseurs plus anciens. Le décodeur accepte à la fois « et numérique », plus « et ». L'encodeur émet délibérément « plutôt que », correspondant à son choix de portabilité documenté.
Lieu nommé par rapport aux formes numériques, quot par rapport à 34 et, et 39 par rapport à apos et côte à côte lors de l'examen de la politique à cinq caractères. Un développeur qui rend le texte soumis par l'utilisateur dans une page peut alors décider si ceux-ci peuvent être modifiés en toute sécurité lors de la conversion ou en aval. Conservez la conclusion des caractères d'échappement HTML concernant les analyseurs plus anciens en dehors des allégations de sécurité génériques.
Ce que cela ne couvre pas : s'échapper à l'intérieur de <script>, des gestionnaires d'événements ou des URL, qui nécessitent des règles différentes
Ce que cela ne couvre pas : s'échapper à l'intérieur de <script>, des gestionnaires d'événements ou des URL, qui nécessitent des règles différentes. Ces cinq substitutions décrivent uniquement le texte HTML et les attributs d'échappement entre guillemets. Les composants JavaScript, CSS, SQL et URL ont des grammaires indépendantes, et aucune sortie d'entité n'est un désinfectant général.
Définissez ce que cela ne fait pas avant d'exécuter une stratégie à cinq caractères. Enregistrez la couverture qui s'échappe dans le script en tant que contrôle, inspectez les points de code derrière les gestionnaires d'événements ou les URL et mappez ceux qui nécessitent des règles différentes à l'interpréteur suivant. Cela rend les preuves de politique à cinq caractères vérifiables pour un développeur qui rend le texte soumis par l'utilisateur dans une page enquêtant sur les caractères d'échappement HTML.
À retenir : cinq caractères pour le texte HTML et les attributs cités, pas pour tous les contextes d'analyseur
À retenir : cinq caractères pour le texte HTML et les attributs cités, pas pour tous les contextes d'analyseur. Utilisez l'outil pour inspecter la transformation exacte à cinq caractères, puis placez le résultat uniquement dans un contexte HTML dont vous comprenez les règles. « Coller n'importe où » n'est intentionnellement pas promis.
Connectez les cinq caractères à retenir à une sortie de politique observable à cinq caractères. Conservez le texte HTML et cité à côté du résultat en un seul passage, puis vérifiez où les attributs ne sont pas tous les analyseurs entrent dans le contexte. Un développeur qui affiche le texte soumis par l'utilisateur dans une page peut désormais examiner les preuves de politique à cinq caractères sous la forme d'une recherche de caractères d'échappement HTML étroits. La décision pratique derrière cet article est spécifique : l'échappement HTML se résume à cinq caractères : & < > " et '. Cet article explique le rôle que chacun joue dans le balisage, pourquoi la liste dépend du contexte et comment l'entité de chacun est choisie. L'action du lecteur est tout aussi concrète : crée un lien vers l'échappement d'entité HTML et démontre l'échappement d'un extrait contenant des caractères de balisage, renvoyant le lecteur à la section "Entrée et sortie prises en charge" de la page de l'outil pour connaître le jeu de caractères exact auquel il échappe.