iframe的掛馬與防馬(轉(zhuǎn)自落伍)
[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
網(wǎng)上通用的防插那版是(子):if(top.location != self.location){
top.location = self.location;
}
復(fù)制代碼強(qiáng)插方案為(父):var location="";
復(fù)制代碼其中這個(gè)location是對被賦值的top.location方法的覆蓋,導(dǎo)致方法失效。
昨天又遇到另外一個(gè)版本(子):if(window!=parent){
parent.navigate(location);
}
復(fù)制代碼強(qiáng)插方案為(父):var navigate="";
復(fù)制代碼即是對parent.navigate方法的覆蓋,導(dǎo)致再次引用失效。
那么兩個(gè)和在一起的強(qiáng)插方案是,在iframe之前加入:
復(fù)制代碼介紹了“市面上”能見到的兩種防御被iframe的方法,以及相應(yīng)的變態(tài)突破方法。
貌似把“受害人”逼上絕路了,我們再來看看這兩個(gè)方法:
它們都能夠判斷出自己已經(jīng)被XX了,可是它們是怎么做的呢?
方法一說:先生,請您出去。
方法二說:同志,請您出去!
然而這先生也說了句:“我就不出去!”
因?yàn)椤笆芎θ恕焙瓦@位先生又不是一家子,似乎通過命令對方還無可奈何 —— 同源策略!
但事實(shí)上,“請您出去”這種方式顯然是針對君子不對小人的,所以Monyer教你一種好方法——“亂棍打出去!”
window.onload = function(){
if(top!=self){
var f = document.createElement("form");
f.action=location;
f.target="_parent";
document.body.appendChild(f);
f.submit();
}
};
復(fù)制代碼目前我個(gè)人還沒有找到突破的方法,所以至少比以上兩種方法更暴力一些!
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!