2011-01-18 228 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有各種安全功能來試圖阻止你在做什麼。