部分網(wǎng)站允許空白referer的防盜鏈圖片的js破解代碼
更新時間:2011年05月12日 22:54:41 作者:
主要是有些網(wǎng)站的圖片調(diào)用是防盜鏈的但一般只是判斷referer是不是自己網(wǎng)站,如果referer為空也會顯示圖片,所以有了下面的代碼。
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í)行]
兼容性:已測試IE6、IE7、IE8、chrome 7、FF3.6、Opera10.63
防御方法:
1、不允許referer為空(不建議,因在某些開啟隱私模式的瀏覽器中,或https頁面引用下,referer是空的);
2、地址變更(lighttpd的是根據(jù)有效時間,nginx的根據(jù)是md5);
3、登錄校驗(如必須登錄網(wǎng)站帳號后才能訪問);
復(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í)行]
兼容性:已測試IE6、IE7、IE8、chrome 7、FF3.6、Opera10.63
防御方法:
1、不允許referer為空(不建議,因在某些開啟隱私模式的瀏覽器中,或https頁面引用下,referer是空的);
2、地址變更(lighttpd的是根據(jù)有效時間,nginx的根據(jù)是md5);
3、登錄校驗(如必須登錄網(wǎng)站帳號后才能訪問);
相關(guān)文章
uni-app使用uniCloud實現(xiàn)圖形驗證碼(uni-captcha)詳細(xì)過程
這篇文章主要給大家介紹了關(guān)于uni-app使用uniCloud實現(xiàn)圖形驗證碼(uni-captcha)的相關(guān)資料,實際開發(fā)工作中在登陸的時候經(jīng)常需要圖形驗證碼,需要的朋友可以參考下2023-07-07
JavaScript如何實現(xiàn)圖片懶加載(lazyload) 提高用戶體驗(增強版)
這篇文章主要介紹了JavaScript如何實現(xiàn)圖片懶加載(lazyload) 提高用戶體驗(增強版)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下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í),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-05-05

