ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で HTML 特殊文字を安全にエスケープするにはどうすればよいですか?

JavaScript で HTML 特殊文字を安全にエスケープするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-06 03:50:14801ブラウズ

How Can I Safely Escape HTML Special Characters in JavaScript?

JavaScript での HTML 特殊文字のエスケープ

Web 開発では、HTML 内に信頼できないテキストを表示すると、セキュリティの脆弱性が発生する可能性があります。これらを防ぐには、HTML 構造を妨げる可能性のある特殊文字をエスケープすることが重要です。 JavaScript では、これを実現する方法がいくつか提供されています。

1 つの方法は、次のコード スニペットに示すように、由緒ある replace() 関数を使用することです。

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

最新のブラウザの場合、次の機能を利用できます。より簡潔な解決策として replaceAll() 関数を使用します:

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

これらのエスケープ メカニズムを実装することで、信頼できないテキストが確実に保護されます。正しく安全にレンダリングされ、悪意のある攻撃のリスクが最小限に抑えられます。

以上がJavaScript で HTML 特殊文字を安全にエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。