让浏览器端直接显示有防盗链的图片,JS伪造referer的问题-有难度,初哥慎入
cand 2013-09-20 01:51:16 正文内容
<img src="http://image64.360doc.com/DownloadImg/2013/09/1918/35314035_3.jpg">
正文内容这个图片作了防盗链,referer不是www.360.com就会返回403禁止访问,referer为空也不行。之前百度sina等,用JS将referer置空就可以了。使用服务器端代码,伪造REFERER,可以抓取这个图片,然后从服务器上让网民下载显示。这个缺点是图片要经过服务器,占用带宽和资源。
网上搜索,得知,下面JS代码可以伪造REFERER,不知道如何让客户端浏览器直接显示图片?
<script type="text/javascript">
//伪造REFERER
function Imagereferer(url) {
var obj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
obj.Open("get", url, false);
obj.Option(4) = 13056;
obj.Option(6) = false;
obj.setRequestHeader("Referer", "http://www.360doc.com");
obj.Send();
}
//预加载
function loadImage(url, callback) {
var img = new Image(); //创建一个Image对象,实现图片的预下载
img.src = url;
if (img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
callback.call(img);
return; // 直接返回,不用再处理onload事件
}
img.onload = function () { //图片下载完毕时异步调用callback函数。
callback.call(img);//将回调函数的this替换为Image对象
};
};
</script>
假如本帖就是一HTML源码,如何能让上方那个图片,正常显示??