部分網(wǎng)站允許空白referer的防盜鏈圖片的js破解代碼
更新時(shí)間:2011年05月12日 22:54:41 作者:
主要是有些網(wǎng)站的圖片調(diào)用是防盜鏈的但一般只是判斷referer是不是自己網(wǎng)站,如果referer為空也會(huì)顯示圖片,所以有了下面的代碼。
Javascript源碼:
function showImg( url ) {
var imgid = Math.random(),
frameid = 'frameimg' + imgid;
window['img'+imgid] = '<img id="img" src=\''+url+'?kilobug\' /><script>window.onload = function() { parent.document.getElementById(\''+frameid+'\').height = document.getElementById(\'img\').height+\'px\'; }<'+'/script>';
document.write('<iframe id="'+frameid+'" src="javascript:parent[\'img'+imgid+'\'];" frameBorder="0" scrolling="no" width="100%"></iframe>');
}
調(diào)用方法:
showImg('圖片地址');
完整演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
兼容性:已測(cè)試IE6、IE7、IE8、chrome 7、FF3.6、Opera10.63
防御方法:
1、不允許referer為空(不建議,因在某些開啟隱私模式的瀏覽器中,或https頁(yè)面引用下,referer是空的);
2、地址變更(lighttpd的是根據(jù)有效時(shí)間,nginx的根據(jù)是md5);
3、登錄校驗(yàn)(如必須登錄網(wǎng)站帳號(hào)后才能訪問);
復(fù)制代碼 代碼如下:
function showImg( url ) {
var imgid = Math.random(),
frameid = 'frameimg' + imgid;
window['img'+imgid] = '<img id="img" src=\''+url+'?kilobug\' /><script>window.onload = function() { parent.document.getElementById(\''+frameid+'\').height = document.getElementById(\'img\').height+\'px\'; }<'+'/script>';
document.write('<iframe id="'+frameid+'" src="javascript:parent[\'img'+imgid+'\'];" frameBorder="0" scrolling="no" width="100%"></iframe>');
}
調(diào)用方法:
復(fù)制代碼 代碼如下:
showImg('圖片地址');
完整演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
兼容性:已測(cè)試IE6、IE7、IE8、chrome 7、FF3.6、Opera10.63
防御方法:
1、不允許referer為空(不建議,因在某些開啟隱私模式的瀏覽器中,或https頁(yè)面引用下,referer是空的);
2、地址變更(lighttpd的是根據(jù)有效時(shí)間,nginx的根據(jù)是md5);
3、登錄校驗(yàn)(如必須登錄網(wǎng)站帳號(hào)后才能訪問);
相關(guān)文章
js,jQuery 排序的實(shí)現(xiàn)代碼,網(wǎng)頁(yè)標(biāo)簽排序的實(shí)現(xiàn),標(biāo)簽排序
js,jQuery 排序的實(shí)現(xiàn),網(wǎng)頁(yè)標(biāo)簽排序的實(shí)現(xiàn),標(biāo)簽排序,需要的朋友可以參考下。2011-04-04詳解如何優(yōu)雅迭代JavaScript字面對(duì)象
迭代是訪問集合元素的一種方法,可以被迭代的對(duì)象稱為可迭代對(duì)象,下面這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅迭代JavaScript字面對(duì)象的相關(guān)資料,需要的朋友可以參考下2022-05-05淺談js-FCC算法Friendly Date Ranges(詳解)
下面小編就為大家?guī)硪黄獪\談js-FCC算法Friendly Date Ranges(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04thinkphp標(biāo)簽實(shí)現(xiàn)bootsrtap輪播carousel實(shí)例代碼
這篇文章給大家介紹thinkphp標(biāo)簽實(shí)現(xiàn)bootsrtap輪播carousel實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下2017-02-02對(duì)于input 框限定輸入值為浮點(diǎn)型的js代碼
下面小編就為大家?guī)硪黄獙?duì)于input 框限定輸入值為浮點(diǎn)型的js代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09