破解圖片防盜鏈方法
阿新 • • 發佈:2019-02-16
很多網站都對自己的圖片做了防止盜鏈的處理,目的是減輕伺服器的壓力,方式方法也都是大同小異。對於想直接通過<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:其實盜用比人的圖片真心說這是不道德的,畢竟人家的勞動成果你一個複製貼上就搞定了。