Maison > développement back-end > Golang > le corps du texte

Pourquoi \'<\' est-il échappé vers \'<\' dans mon modèle HTML, même si \'>\' s'affiche correctement ?

Patricia Arquette
Libérer: 2024-11-04 02:33:01
original
419 Les gens l'ont consulté

Why is

Modèle s'échappant de manière inattendue <

Un utilisateur a rencontré un problème avec les modèles dans son outil de développement. Malgré l'utilisation de modèles HTML, qui échappent automatiquement aux données pour une intégration HTML sécurisée, ils ont observé que même si le caractère > s'affichait correctement, le caractère < était en cours de conversion en <.

Explication

Les modèles HTML du package html/template de Go sont conçus spécifiquement pour générer une sortie HTML. Ils fournissent un codage automatique dépendant du contexte pour garantir que les valeurs des données sont intégrées en toute sécurité dans les documents HTML. Ce codage empêche les utilisateurs malveillants d'injecter du code dangereux dans la sortie. Cependant, le package texte/modèle ne dispose pas de cette fonctionnalité d'encodage et interprète uniquement les valeurs des données comme du texte brut.

Dans ce cas, puisque l'utilisateur avait l'intention de générer une sortie non HTML (probablement un script Pawn), en utilisant le texte Le package /template aurait été plus approprié. Le package html/template échappait inutilement au < caractère car il s'attendait à ce que la sortie soit intégrée au format HTML, ce qui n'était pas le cas.

Solution

Pour résoudre ce problème, l'utilisateur doit passer au texte/ package de modèles lors de la génération d’une sortie non HTML. Cela désactivera l'encodage automatique et permettra l'affichage correct de tous les caractères, y compris < et >.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!