【发布时间】:2021-08-04 06:50:14
【问题描述】:
我使用 Extjs 和 JS 构建了一个对话框,可以在其中显示来自 DB 的我的 html 数据,该数据用 iframe 包装,如下所示:
<iframe name="ext-gen568" frameborder="0" src="javascript:;" style="width: 514px; height: 189px;">
<html>
<head> ... </head>
<body>
<br><br>
<blockquote type="cite">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p>Hello</p>
<video><source src="x" onerror="alert('xss')"></video>
</blockquote>
</body>
</html>
</iframe>
我尝试将sandbox 添加到iframe,但不起作用,XSS 警报仍然显示。
- 然后我尝试更改为
<iframe src='#'... sandbox>,但仍然显示 XSS 警报。 - 我删除了
src或者只是在<iframe src=''... sandbox>中设置了'',它得到了这个错误:DOMException: Blocked a frame with origin "mytestdomain" from accessing a cross-origin frame.
我应该如何处理我的问题?
非常感谢您的帮助。
【问题讨论】:
-
您需要将标签列入白名单并这样做。
-
@Brad,我真的不明白你的想法。请您再解释一下好吗?
标签: javascript html security iframe xss