ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で HTML エンティティを安全にデコードするにはどうすればよいですか?

JavaScript で HTML エンティティを安全にデコードするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-23 16:10:18
オリジナル
435 人が閲覧しました

How to Safely Decode HTML Entities in JavaScript?

JavaScript で HTML エンティティを正常にデコードする方法

JavaScript は、XML-RPC バックエンドなどの外部ソースと対話することがよくあります。これらのバックエンドは、 のような HTML エンティティを含む文字列を返す場合があります。 Javascript を使用してこれらの文字列を HTML に組み込もうとすると、文字列がそのまま表示されたり、エスケープされていない HTML エンティティとして表示されたりする可能性があります。

これらの HTML エンティティを効果的にエスケープ解除するには、外部ソースの技術を利用しても失敗する可能性があります。代わりに、最新のブラウザでサポートされている DOMParser メソッドを利用してください。その方法は次のとおりです:

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/)'>")); // ""
ログイン後にコピー

このメソッドは、悪意のあるコードの実行を防ぎながら、HTML エンティティを正常にデコードします。

以上がJavaScript で HTML エンティティを安全にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート