带有“允许同源”标志错误的 iframe 沙盒
Posted
技术标签:
【中文标题】带有“允许同源”标志错误的 iframe 沙盒【英文标题】:Iframe sandboxing with 'allow-same-origin' flag error 【发布时间】:2015-07-22 21:09:00 【问题描述】:有人可以向我提供有关此错误的更多信息以及“允许同源”标志的工作原理吗?我在 Chrome for iframe Sandboxing 中收到以下错误:
未捕获的安全错误:无法从“htmlIFrameElement”读取“contentDocument”属性:沙盒访问冲突:阻止“http://192.168.0.169”处的框架访问“http://192.168.0.169”处的框架。被访问的框架是沙盒的,缺少“allow-same-origin”标志。
我有点困惑,为什么当来自 192.168.0.169 的帧从同一 IP 地址访问另一个帧时,我需要“允许同源”标志。 非常感谢。
【问题讨论】:
在 chrome 上,尝试设置标志--disable-web-security
。
@Rakesh_Kumar 我会试试的。但请注意,我正在开发一个 Web 应用程序。我不能要求最终用户在他们的浏览器上禁用这个标志。你能解释一下这个错误的原因吗?
【参考方案1】:
你的 iframe 中可能有一个沙盒属性:
沙盒属性为 iframe 中的内容启用了一组额外的限制,它是启用权限的白名单,
因此您可以删除该属性,或对其进行编辑以适应您需要的权限。
可在此处找到可选权限:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
这里还有更多信息:http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/
【讨论】:
我浏览了这些文章,并根据我引用的“html5rocks”文章:“allow-same-origin 是必要的,否则 twitter.com 的 cookie 将无法访问,用户无法访问登录以发布表格”。所以基本上这个标志在使用沙盒时是必须的? 除非你只想显示 html&css,不涉及 JS 或 cookie 需要提一下,默认的限制已经足够好,也足够安全了,大部分情况下不需要使用sandbox属性 这个答案对你有帮助吗?以上是关于带有“允许同源”标志错误的 iframe 沙盒的主要内容,如果未能解决你的问题,请参考以下文章