2009-08-24 69 views
0

而不是詢問如何殺框。很高興知道什麼技術可以用來防止頁面內部的iframe被「幀殺手」殺死防止殺框

回答

2

令人高興的是,沒有任何東西可以在Internet Explorer之外工作(這可以讓JS在作爲安全性的iframe中被禁用特徵)。

如果網站的作者不希望他們的頁面被陷害,那麼這是他們的選擇。

9

因爲他們的工作方式,總有不幸的是,有一種方法可以讓框架殺手獲得回合。 (但是,正在構建的網站通常會顯示警告)。

參見Jeff Atwood的「disturbing revelation」。

幾個選擇摘錄:

如果一個邪惡的網站決定它會 幀你的網站,你會 陷害。期。框架破解是 無非是一種安全的虛假感;它不起作用。

框架破壞代碼(從鏈接堆棧溢出的挑戰):

<script type="text/javascript"> 
    var prevent_bust = 0 
    window.onbeforeunload = function() { prevent_bust++ } 
    setInterval(function() { 
     if (prevent_bust > 0) { 
     prevent_bust -= 2 
     window.top.location = 'http://server-which-responds-with-204.com' 
     } 
    }, 1) 
</script> 

此代碼執行以下操作:

  • 每次 瀏覽器嘗試導航離開時間計數器加一 來自當前頁面,通過 window.onbeforeonload事件處理程序

  • 設置了一個觸發通過的setInterval()每 毫秒定時器,如果 它看到計數器遞增, 改變當前位置到攻擊者的控制

  • 的 服務器該服務器提供了一個頁面與 HTTP狀態代碼204,其不 原因瀏覽器導航 任何地方