部分網(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需再刷新一下頁面才能執(zhí)行]
兼容性:已測(cè)試IE6、IE7、IE8、chrome 7、FF3.6、Opera10.63
防御方法:
1、不允許referer為空(不建議,因在某些開啟隱私模式的瀏覽器中,或https頁面引用下,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需再刷新一下頁面才能執(zhí)行]
兼容性:已測(cè)試IE6、IE7、IE8、chrome 7、FF3.6、Opera10.63
防御方法:
1、不允許referer為空(不建議,因在某些開啟隱私模式的瀏覽器中,或https頁面引用下,referer是空的);
2、地址變更(lighttpd的是根據(jù)有效時(shí)間,nginx的根據(jù)是md5);
3、登錄校驗(yàn)(如必須登錄網(wǎng)站帳號(hào)后才能訪問);
相關(guān)文章
uni-app使用uniCloud實(shí)現(xiàn)圖形驗(yàn)證碼(uni-captcha)詳細(xì)過程
這篇文章主要給大家介紹了關(guān)于uni-app使用uniCloud實(shí)現(xiàn)圖形驗(yàn)證碼(uni-captcha)的相關(guān)資料,實(shí)際開發(fā)工作中在登陸的時(shí)候經(jīng)常需要圖形驗(yàn)證碼,需要的朋友可以參考下2023-07-07
textarea支持圖形編輯的實(shí)現(xiàn)方法
本來以為只有iframe支持編輯了,今天突然發(fā)現(xiàn)textarea也支持編輯 :( 是不是我太愚鈍了? textarea不能用innerHTML來插入html,而用appendChild 這樣的話稍微修改下,評(píng)論等簡(jiǎn)單的textarea的表情插入就可以直接顯示出來了 而不是只顯示emot了 比較實(shí)用標(biāo)題起的確切,但如果叫“現(xiàn)textarea支持編輯”似乎更廢話2008-03-03
javascript實(shí)現(xiàn)緩動(dòng)動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)緩動(dòng)動(dòng)畫效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
JavaScript如何實(shí)現(xiàn)圖片懶加載(lazyload) 提高用戶體驗(yàn)(增強(qiáng)版)
這篇文章主要介紹了JavaScript如何實(shí)現(xiàn)圖片懶加載(lazyload) 提高用戶體驗(yàn)(增強(qiáng)版)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
javascript cookie解碼函數(shù)(兼容ff)
javascript cookie解碼函數(shù)2008-03-03
Javascript循環(huán)刪除數(shù)組中元素的幾種方法示例
這篇文章主要給大家介紹了關(guān)于Javascript循環(huán)刪除數(shù)組中元素的幾種方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-05-05

