盗链图片显示在网页中

当然作为一个开发者,这样做是不被允许的,违背了开发的精神,当时如果是用在自己的个人站点上,应该不会被排斥吧!

最知名的应该是传送门[http://chuansong.me/] 的网站了,他的所有文章都是微信公众号的文章,但是他都突破的盗链,它的链接是这样的 http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=http://mmbiz.qpic.cn/mmbiz/XGVVX13YPHyYnaUBw3UBS7Aq9VAF2bz8BZnrdg8Hq6LOWeWhQ8h2L625NlfMVuoWJG65ClBCjJFzEaHJd615xQ/0?wx_fmt=jpeg 在所有的链接前面加上 http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=

还有很多的方法就是用七牛和阿里云的云存储,将图片下载下来存放在自己的云存储了,这样无可厚非是最好的办法,图片都在自己这里了,肯定不存在盗链了

第三个方法就是通过iframe来跳过 refer 验证了,将网页全都放在iframe 里面 。达到跳过refer 的验证,这个是打印包含了多组图片不好区分的问题。如果抓到一篇文章,文章里面含有很多的图片

   <iframe seamless></iframe>
    var content=d.content.replace(/data-src="[\s\S]*?"/gi, function (src) {
    var src = src + " " + src.substring(5);
    return src;
  });
 var html = '<div id=\"page\">\n        <div class=\"rich_media\">\n            <div class=\"rich_media_inner\">\n             
 <div class=\"rich_media_area_primary\">\n                 
 <h2 class=\"rich_media_title\">'+d.title+'</h2>\n\n                   
 <div class=\"rich_media_meta_list\">\n                    
 <em class=\"rich_media_meta rich_media_meta_text\">'+date(d.createTime)+'</em>\n                      
 <a class=\"rich_media_meta rich_media_meta_link rich_media_meta_nickname\">'+d.author+'</a>\n                  
 </div>          </div>\n            
 <div class=\"rich_media_content\">'+content+'</div>\n                    <div class=\"rich_media_tool\">\n                         </div>\n                </div>\n           
 </div>\n      
 </div>\n</div>';
   $("iframe").attr("src", 'javascript:void(function(){document.open();document.write(\'' + html + '\');document.close();}())');
$("iframe").contents().find("head").append('<link rel="stylesheet" href="/static/css/article.css">');
    }

如果你仅仅只需要显示出一张盗链图片,下面的代码。直接使用方法就可以了。

    f_showimg: function(url){
        var frameid = 'frameimg' + Math.random();
         window.img = '<img id="img" style="margin-top:-10px;" src=\'' + url + '?' + Math.random() + '\' width="135" height="75" />';
        return '<iframe id="' + frameid + '" src="javascript:parent.img;" frameBorder="0" scrolling="no" width="135" height="75"></iframe>';
    }