javascript - HTML Javascript - 防止从 dom 树的子节点执行脚本

标签 javascript html execution

我从一个不可信的来源下载了一些 html 树,并用它来将内容显示为我页面中某个 HTML div 的子元素。但是,下载的代码存在运行脚本/或在事件处理程序中执行脚本的危险。有没有可能在HTML中就像使用标签来定义脚本一样,做一个

<noscriptex>
    <script>
        ...
    </script>
</noscriptex>

那么浏览器不会执行这个标签内的任何代码?

如果没有这样的东西,我该如何清理下载的 HTML 以显示 DOM 元素及其 CSS,而不涉及任何脚本?

最佳答案

没有;没有这样的功能。

相反,您需要解析 HTML 并使用严格的白名单删除任何无法识别的标签和属性。

您还需要验证属性值;尤其是 URL。

关于javascript - HTML Javascript - 防止从 dom 树的子节点执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12488339/

相关文章:

Phpmyadmin 的 PHP 不执行但其他 php 脚本工作

java - 在控制台执行run命令时如何为java程序提供外部文件?

javascript - 对 FileList 对象进行排序

html - CSS 在 Box(div) 的每一侧放置箭头

oracle - PL/SQL发生错误时退出执行

javascript - 如何使用谷歌应用程序脚本设置谷歌表单中项目的父级?

javascript - 使用 knockout 的实时搜索会产生错误

javascript - 将选定的复选框复制到另一个 div 中

javascript - 在 javascript 中使用 map 从对象中获取数组。但是得到未定义的数组

jquery - 将 css 媒体查询应用于响应式设计时 css 发生变化