我有什么方法可以在特定div中禁用所有类型的JavaScript吗?
我最初认为<noscript>
标签是为了这个,但事实证明我错了。
以下是我要找的内容:
<some-sort-of-tag-here>
<script>
alert('test');
</script>
</some-sort-of-tag-here>
将呈现为:
<script>
alert('test');
</script>
而不是执行脚本。这样可以防止任何形式的XSS和其他外部JavaScript(已包含在head
中)都可以修改给定的标记。
我在这里可能完全错了,这样的标签可能根本不存在,但请在这里帮助我。我觉得这样的标签是XSS最简单的解决方案。无需担心标签内部执行的任何脚本(这意味着所有用户内容都可以包含在该标签中),而所有包含网站的javascript都可以根据需要修改页面内容。
我将如何继续创建一个标签,其中所有内容仅被视为纯HTML,而不是在其中执行任何形式的JavaScript?
答案 0 :(得分:2)
我担心这样的标签不存在,你必须自己对内容进行html编码。
这样:
<script>
alert('test');
</script>
成为这个:
<script>
alert('test');
</script>
另请注意,如果有安全标记,请执行以下操作:
<safe>
<script>
alert('test');
</script>
</safe>
任何人都可以通过制作内容来规避它:
</safe>
<script>
alert('test');
</script>
<safe>
答案 1 :(得分:1)
有趣的概念。您是否希望能够在不运行代码的情况下显示代码?如果是这样,xmp
标记可能是单向的。
<xmp>
<script>
alert('test');
</script>
</xmp>
但是{@ 1}}已被弃用,并不保证可以在所有浏览器上运行(尽管大多数都是正确的)。所以黑客就是使用xmp
添加格式。像这样:
textarea