Maison > Article > interface Web > Comment supprimer en toute sécurité les entités HTML en JavaScript : résoudre les vulnérabilités XSS ?
Récupérer les entités HTML en JavaScript : un guide complet
Les applications Web modernes interagissent souvent avec des services tiers via des protocoles tels que XML-RPC. Les entités peuvent être utilisées dans XML-RPC pour représenter des caractères spéciaux, tels que des entités HTML. Si vous recevez des chaînes codées en HTML à partir d'un service XML-RPC et que vous devez les insérer dans votre code HTML généré par JavaScript, il est essentiel de les supprimer pour afficher les visuels prévus.
Récupération des entités HTML
La réponse acceptée dans le fil de discussion lié suggérait une fonction pour annuler l'échappement du HTML entités :
function htmlDecode(str) { var doc = new DOMParser().parseFromString(str, "text/html"); return doc.documentElement.textContent; }
Cette approche utilise le DOMParser pour créer un fragment de document à partir de la chaîne d'entrée, éliminant ainsi l'échappement de toutes les entités HTML qu'il contient.
Prévention des vulnérabilités XSS
Cependant, comme indiqué dans la réponse acceptée, l'utilisation de l'approche DOMParser peut introduire un risque de sécurité. Si la chaîne d'entrée contient un balisage HTML non échappé, cela pourrait conduire à une vulnérabilité de Cross-Site Scripting (XSS).
Approches alternatives
Pour atténuer ce risque, vous pouvez utiliser des approches alternatives, telles que :
Diagnostiquer les Problème
Si la suppression des entités ne fonctionne pas comme prévu, vous pouvez suivre ces étapes pour le diagnostic :
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!