8

1. 什么问题?

如果未设置标志,则在 HTML5 规范中为iFrame元素添加的sandbox属性会在现代浏览器(使用当前版本的 Chrome 和 Safari 测试)中呈现任何帧中断/破坏/杀死方法 null ,即使标志和存在。allow-top-navigationallow-formsallow-scripts

2. 我尝试了什么?

  • 任何 JavaScript 方法,例如if(top != self) top.location.replace(location);

  • target="_top"在具有属性的表单上触发提交事件

  • target="_top"在具有属性的锚元素上触发点击事件。实际上,具有target="_top"属性的锚元素被渲染为无用。因此,建议用户采取行动的好消息也不起作用(如此Flickr iFrame 示例所示)。

3. 我想达到什么目的?

我想要一种方法来打破现代浏览器上的框架,这些浏览器已经实现了sandbox带有标志allow-formsallow-scripts存在的 iFrames 的属性?

似乎他们刚刚为所有具有此属性的黑帽提供了拼图的缺失部分。

4. 我不是在寻找什么?

我正在寻找一种解决方案,它将打破框架。不是一个解决方案,它不会在框架内显示站点(例如X-Frame-Options响应头)或使用 CSS 来隐藏正文等。

4

1 回答 1

7

恐怕您找不到解决方案,因为沙盒的重点是您无法摆脱它。

如果有黑客入侵,供应商会将其归类为安全问题并迅速修补。

于 2012-12-17T00:53:21.143 回答