阻止任何人使用IFrame查看我的网站

时间:2009-06-23 19:17:25

标签: php javascript iframe

我看过并尝试过,但是看不到我能阻止某些人通过IFrame或Thickbox浏览我的网站?

我想阻止被禁止的成员通过代理网站访问网站,让最终用户能够浏览IFrame。我知道没有什么可以完全证明,但仍然值得这个问题。

5 个答案:

答案 0 :(得分:15)

查看SO自己的Jeff Atwood对此问题的评论......

Coding Horror - We Done Been ... Framed!

归结为没有可靠的方法来做到这一点。您可以尝试使用帧突破,但恶意编码器将始终能够添加更多代码并绕过您可能添加的任何“保护”。

答案 1 :(得分:8)

啊,但这里是responseJeff Atwoods blog post。 (反抗框架突破)可能

Go figure, it was a question on Stackoverflow as well.发自猜谁?答案类似于我发布的链接:

if(top != self) {
 top.onbeforeunload = function() {};
 top.location.replace(self.location.href);
}

答案 2 :(得分:1)

altCognito是对的,你想破坏一个框架突破。

以下是the post altCognito发送给您的源代码。

<script type="text/javascript">
if (top.location != self.location)
top.location = self.location;
</script> 

但是,我想你甚至可能想进一步研究它。您可能希望进行一系列检查,不仅要查找 top ,还要查找窗口

<script type="text/javascript">

var self = self.location;
var top = top.location;
var parent = parent.location;
var window = window.location;

if (top != self || parent != self || window != self  )
window = self;
</script> 

答案 3 :(得分:0)

<script>
   var isInIframe = (window.location != window.parent.location) ? true : false;

  if(isInIframe) 
  {
    alert("Window is in iframe");
    //Do what you want
    //top.location.href=self.location;
  }
  else 
  {
    alert("Window is not in iframe");
  }
</script>

答案 4 :(得分:0)

您可以在头文件中尝试这个简单的js

if (window.top !== window.self) window.top.location.replace(window.self.location.href);