繁体   English   中英

如何防止 iframe 存储的 XSS?

[英]How can prevent Stored XSS by iframe?

我使用 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= '' <iframe src=''... sandbox>中设置了它,它得到了这个错误: DOMException: Blocked a frame with origin "mytestdomain" from accessing a cross-origin frame.

我应该怎么做才能处理我的问题?

非常感谢您的帮助。

通过为沙盒设置“允许同源”解决了该问题

<iframe sandbox="allow-same-origin" src="javascript:;"...></iframe>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM