有什么方法可以禁用特定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?
我担心这样的标签不存在,你必须自己对内容进行html编码。
这样:
<script>
alert('test');
</script>
变成这样:
<script>
alert('test');
</script>
另请注意,如果有安全标记,请执行以下操作:
<safe>
<script>
alert('test');
</script>
</safe>
任何人都可以通过制作内容来规避它:
</safe>
<script>
alert('test');
</script>
<safe>
有趣的概念。您是否希望能够在不运行代码的情况下显示代码?如果是这样,xmp
标签可能是单向的。
<xmp>
<script>
alert('test');
</script>
</xmp>
但是xmp
已被弃用,并不保证可以在所有浏览器上运行(尽管大多数都是正确的)。所以黑客就是使用带有添加格式的textarea
。像这样:
<textarea disabled="true" style="border: none;background-color:white;">
<script>
alert('test');
</script>
</textarea>