破解防盗链,js设置空白referer图片
Sep 26th,2011
发表评论
大部分防盗链都是判断referer,可以通过在客户端本地改变图片调用破解之。
//破防盗链js
function ImgRebuild() {
$("#post img").each(function(i){
url = this.src;
width = this.width;
height = this.height;
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>';
img_r = '<iframe id="'+frameid+'" src="javascript:parent[\'img'+imgid+'\'];" frameBorder="0" height="' +height+ '" scrolling="no" width="100%"></iframe>';
$(this).replaceWith(img_r);
});
return '';
}
ImgRebuild();
Demo:
http://www.tiham.com/page/anti-anti-hotlinking.html
兼容性:已测试IE6、IE7、IE8、chrome 7、FF3.6、Opera10.63
防御方法:
1、不允许referer为空(不建议,因在某些开启隐私模式的浏览器中,或https页面引用下,referer是空的);
2、地址变更(lighttpd的是根据有效时间,nginx的根据是md5);
3、登录校验(如必须登录网站帐号后才能访问);
声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: 破解防盗链,js设置空白referer图片
好东西我找了很久了呵呵
只有想不到的,没有做不到的。
还没有试过!不知道有用没有!
抽空试一试!我的网站有很多图片是需要外联的 那是商家的要求呀!