if(top != self)iframe防止嵌入框架js代码破解

2014年5月27日 发表评论 阅读评论

就是我想iframe一个页面,而这个页面有 if (top != self) 这类代码,总是跳出去。我想禁止他跳出去,怎么办呢?

我看网上有这样的代码 :
<script>
var location="";
var navigate="";
</script>
怎么用啊?我把这几行代码放入页面里,没起什么作用,依然跳出了。高手来给说说怎么弄才行,对了,在网上还看到有xmlHttpRequest这个方法,听起来不错,给说说具体点怎么弄。总之让我能框指定页面且不跳出来就行。

var window.top = null;

城通网盘的iframe
    <script type="text/javascript">
function redirectPremiumLink(){
    window.open("/premium.php?quick");}
if (top != self)
{
    try { if (top.document.location.toString()) { } }
    catch(err)
    {
        try { if (parent.document.location.toString()) { top.location=parent.location } }
        catch(err)
        {
            top.location=self.location;
        }
    }
}
</script>

破解&屏蔽防止嵌入框架代码 top.location != self.location
一般的防止被框架方式或者被框架后自动转向,方法如下:
if (top.location != self.location)
{
top.location.href="/self.location.href";
}
原理就是可以访问top的location,
其实破解方法很简单,代码如下:
在主窗口的</head>标签前面添加
<script type="text/javascript">
var location=document.location
</script>
或者:
<script type="text/javascript">
var location=""
</script>
这来一来就可以达到目的,很明显原来不让框架的百度空间,现在我们也可以来框架一下,演示
<script type="text/javascript"> var location=document.location </script><IFRAME border="0" id="cal_sf" name="cal_sf" marginWidth="0" marginHeight="0" src=http://hi.baidu.com/glaivelee frameBorder="No" width="600" height="700" scrolling="yes"></IFRAME>

A网站框住了B网站

<iframe src="http://yourwebsite.com"></iframe>
B网站防止被框,加入如下代码(变种有很多,意思相同)

if (top != self) { top.location.replace(self.location.href); }
A网站破解方法如下:

1、这种方法是在网上搜到的大多数解决方法,但是仅支持IE

var location = ""
//或者
var location = document.location
2、在stackoverflow上找到的一个另一种方法,暂时发现仅不支持opera浏览器

<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>
简单介绍一下原理,B网站改变top.location的行为会触发window.onbeforeunload事件,A网站捕获到以后,将location指向一个“204页面”。

但是这样导致了另外一个问题,你会发现A页面所有链接都失效了,你可以做如下改动prevent_bust -= 3,一切OK了。

但是你仍然要注意,这种方法仅在B网站加入了如上防被框代码才有效,如果B去掉了这段代码,你也要做相应的改动。这并不是一劳永逸的方法。

很遗憾,正如你看到的那样,没有什么完美的方法。


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/600.html

  1. 本文目前尚无任何评论.