2009-08-24 53 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,其不 原因浏览器导航 任何地方