Récupération d'entités HTML en JavaScript : un guide complet
Lorsque vous travaillez avec des chaînes provenant de XML-RPC ou d'autres serveurs qui utilisent l'échappement d'entité HTML , la tâche consistant à afficher correctement ces chaînes dans le contenu HTML peut poser un défi. Voici quelques idées et solutions :
Évitez les méthodes peu fiables
Bien qu'il existe diverses techniques de déséchappement HTML dans JavaScript, beaucoup d'entre elles présentent une vulnérabilité importante. L'utilisation de méthodes qui ne parviennent pas à valider la chaîne d'entrée peut introduire des exploits Cross-Site Scripting (XSS).
Utilisez DOMParser pour une évasion sécurisée
Pour garantir à la fois la compatibilité et la sécurité, il est fortement recommandé d'exploiter DOMParser pour la déséchappement HTML. Cette méthode est nativement prise en charge dans tous les navigateurs modernes :
function htmlDecode(input) { var doc = new DOMParser().parseFromString(input, "text/html"); return doc.documentElement.textContent; } console.log(htmlDecode("<img src='myimage.jpg'>")); // "<img src='myimage.jpg'>" console.log(htmlDecode("<img src='dummy' onerror='alert(/xss/)'>")); // ""
Dans cet exemple, vous pouvez observer que la balise d'image non échappée s'affiche comme une image réelle, tandis que la balise malveillante est efficacement neutralisée. En effet, DOMParser traite la chaîne d'entrée comme du XML, interprétant et filtrant correctement le code malveillant.
Conseils de diagnostic
Le dépannage des problèmes de déséchappement peut être facilité par les étapes suivantes :
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!