Maison > développement back-end > Golang > Pourquoi <échappé mais> reste-t-il non-échappé dans les modèles ?

Pourquoi <échappé mais> reste-t-il non-échappé dans les modèles ?

Patricia Arquette
Libérer: 2024-11-04 01:03:30
original
979 Les gens l'ont consulté

Why is < Escaped but > Reste sans échappement dans les modèles ? 
Reste sans échappement dans les modèles ? " />

Échappement de < mais pas > dans les modèles

Dans le domaine de la génération de fichiers via des modèles, un problème déroutant est apparu : le > caractère, tandis que son homologue < subit une transformation inexplicable en <. Pour percer ce mystère, nous plongeons dans la documentation.

Le mécanisme d'échappement automatique de html/template, destiné à la sortie HTML, traite les valeurs des données comme texte brut qui nécessite un codage pour une intégration sécurisée. Cependant, les règles d'échappement sont sensibles au contexte, où le caractère < apparaît dans une directive #include, ce mécanisme d'échappement l'interprète à tort comme du contenu HTML et le transforme en & ;lt;.

La solution réside dans l'alignement de l'objectif du modèle avec le moteur de modèle approprié :

  • Si la sortie est HTML, utilisez html/template, qui fournit un échappement contextuel. .
  • Pour une sortie non HTML, optez pour le texte/modèle, ce qui évite les échappements inutiles, garantissant que < et > sont conservés dans leur forme originale.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal