Maison >interface Web >js tutoriel >Comment puis-je échapper en toute sécurité aux caractères spéciaux HTML en JavaScript ?

Comment puis-je échapper en toute sécurité aux caractères spéciaux HTML en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 03:50:14846parcourir

How Can I Safely Escape HTML Special Characters in JavaScript?

Échapper aux caractères spéciaux HTML en JavaScript

Dans le développement Web, l'affichage de texte non fiable en HTML peut entraîner des failles de sécurité. Pour éviter cela, il est crucial d'échapper aux caractères spéciaux susceptibles d'interférer avec la structure HTML. JavaScript propose plusieurs façons d'y parvenir.

Une approche consiste à utiliser la vénérable fonction replace(), comme le montre l'extrait de code suivant :

function escapeHtml(unsafe) {
  return unsafe
    .replace(/&/g, "&")
    .replace(/</g, "&amp;lt;")
    .replace(/>/g, "&amp;gt;")
    .replace(/&quot;/g, "&amp;quot;")
    .replace(/'/g, "&amp;#039;");
}

Pour les navigateurs modernes, vous pouvez tirer parti la fonction replaceAll() pour une solution plus concise :

const escapeHtml = unsafe => unsafe
  .replaceAll('&amp;', '&amp;amp;')
  .replaceAll('<', '&amp;lt;')
  .replaceAll('>', '&amp;gt;')
  .replaceAll('&quot;', '&amp;quot;')
  .replaceAll("'", '&amp;#039;');

En implémentant ces mécanismes d'échappement, vous vous assurez que le texte non fiable est rendu correctement et en toute sécurité, minimiser le risque d'attaques malveillantes.

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:
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