2011-01-18 229 views
0

我想在iframe中放置一个网站,但该网站上的代码不断更改页面的窗口。无论如何,我可以解决这个问题吗?或者更好的是,我可以在iframe中禁用JavaScript吗?保持iframe中的页面

if(top!=self){ 
    if(top.location) 
    top.location=self.location; 
    else 
    top.location='http://example.com/not_subframe.html'; 
} 
+0

这将是一个巨大的安全问题。你发布的代码片段是有原因的! – jAndy 2011-01-18 20:58:17

+1

使用武器或生物技术也可能是安全问题。如果作者想提供预览框架呢?解决方案很容易找到,只需查看我的答案。 – gertas 2011-01-18 21:10:43

回答

1

是的,有可能,有几种反帧破坏方法,包括禁用帧中的JS(沙盒,designMode)。全部在OWASP:Defending_with_Frame_Breaking_Scripts的限制中描述。

通常只在内部网或限制访问站点使用它。如果您公开使用此类技巧公开网站,您可能预计Google或其他人将其列入黑名单。

1

不,不能做。更不用说这通常是一种不好的做法。

1

网页无法禁用JavaScript,如果可以的话,这将是混乱。

2

如果两个帧都来自同一个域,则只能从另一个帧中访问一个帧的内容。

否则,这将是一个XSS问题,因此这是浏览器禁止的问题。

1

iFrames有各种安全功能来试图阻止你在做什么。