攻克防图片盗链

24 篇文章 0 订阅

   很多大型的网站都对自己的图片做了防止盗链的处理,目的是减轻服务器的压力,方式方法都是各有绝活。对于我们这种想直接通过<img src="人家的图片链接"/>来访问人家的链接的网站来说的症状就是,人家显示一个警告图片,你想看的图片莫名奇妙的变成了提示页面。品德较好的网站直接让你看到一个大红叉。

  为此我们不得不攻克防图片盗链的方式。

  思路如下:你直接将图片的链接在浏览器中敲上,肯定可以显示。但是你内嵌到网页中通过img的src引用肯定没戏,那么我们只能在请求的时候读取一下图片的内容,然后在我们的页面显示了。

  具体实施的时候,你需要这么处理:

  在你的项目下建立一个jsp文件:images.jsp,内容如下

  1. <%@page contentType="image/jpeg" import="java.io.OutputStream,java.io.InputStream,java.net.URL,java.net.URLConnection" language="java"%>
  2. <%
  3.     
  4.     try{
  5.         OutputStream os = response.getOutputStream();
  6.         //获取图片路径url=http://www.sohu.com/images/aaa.jpg
  7.         String picPath = request.getQueryString();
  8.         //获取纯路径 http://www.sohu.com/images/aaa.jpg
  9.         picPath = picPath.substring(4,picPath.length());
  10.         //建立请求链接
  11.         URLConnection u = new URL(picPath).openConnection();
  12.         InputStream in = u.getInputStream();
  13.         if (null != in) {
  14.             int len;
  15.             byte[] b = new byte[1024];
  16.             while ((len = in.read(b)) != -1) { 
  17.                 os.write(b, 0, len); 
  18.             }
  19.             os.flush();
  20.             in.close();
  21.         }
  22.         os.close();
  23.         out.clear();
  24.         //将图片内容重写到页面
  25.         out = pageContext.pushBody();
  26.     }catch(Exception e){
  27.         e.printStackTrace();
  28.     }
  29. %>

 

然后在你所引用的别的网站页面的图片中

将<img src="http://comment.news.sohu.com/upload/as3rfsghgg/1.jpg"/>

换成:<img src="http://www.yourdomain.com/project/image.jsp?url=http://comment.news.sohu.com/upload/as3rfsghgg/1.jpg"/>

这样你就可以随意的将别的网站的图片放到自己公司的网站了。盗链成功了。

原理就是你创建的那个images.jsp文件将你url后的那个图片链接读取了然后重写到页面了。

想想那些网站何必呢,明知会被破解,还是要做防范,真是矛盾呀

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值