1. 程式人生 > >破解圖片防盜鏈方法

破解圖片防盜鏈方法

很多網站都對自己的圖片做了防止盜鏈的處理,目的是減輕伺服器的壓力,方式方法也都是大同小異。對於想直接通過<img src="人家的圖片連結"/>來訪問人家的連結的網站來說的症狀就是,人家顯示一個警告圖片,你想看的圖片莫名奇妙的變成了提示頁面。

  為此我們不得不破解圖片防盜鏈的方法。

  思路如下:你直接將圖片的連結在瀏覽器中敲上,肯定可以顯示。但是你內嵌到網頁中通過img的src引用肯定沒戲,那麼我們只能在請求的時候讀取一下圖片的內容,然後在我們的頁面顯示了。

  具體實施的時候,你需要這麼處理:

  在你的專案下建立一個jsp檔案:images.jsp,內容如下

<%@page contentType="image/jpeg" import="java.io.OutputStream,java.io.InputStream,java.net.URL,java.net.URLConnection" language="java"%>
<%
    
    try{
        OutputStream os = response.getOutputStream();
        //獲取圖片路徑url=http://www.sohu.com/images/aaa.jpg
        String picPath = request.getQueryString();
        //獲取純路徑 http://www.sohu.com/images/aaa.jpg
        picPath = picPath.substring(4,picPath.length());
        //建立請求連結
        URLConnection u = new URL(picPath).openConnection();
        InputStream in = u.getInputStream();
        if (null != in) {
            int len;
            byte[] b = new byte[1024];
            while ((len = in.read(b)) != -1) { 
                os.write(b, 0, len); 
            }
            os.flush();
            in.close();
        }
        os.close();
        out.clear();
        //將圖片內容重寫到頁面
        out = pageContext.pushBody();
    }catch(Exception e){
        e.printStackTrace();
    }
%>

然後在你所引用的別的網站頁面的圖片中

將<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後的那個圖片連結讀取了然後重寫到頁面了。

PS:其實盜用比人的圖片真心說這是不道德的,畢竟人家的勞動成果你一個複製貼上就搞定了。