首页 > web前端 > js教程 > 如何在 JavaScript 中安全地解码 HTML 实体?

如何在 JavaScript 中安全地解码 HTML 实体?

Linda Hamilton
发布: 2024-12-23 16:10:18
原创
465 人浏览过

How to Safely Decode HTML Entities in JavaScript?

如何在 Javascript 中成功解码 HTML 实体

Javascript 经常与 XML-RPC 后端等外部源交互。这些后端可能返回包含 HTML 实体的字符串,例如 如何在 JavaScript 中安全地解码 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板