使用場景:明明引用了一個正確的圖片地址,但顯示出來的卻是一個紅叉或寫有“此圖片僅限於***網站用戶交流溝通使用”之類的“假圖片”。用嗅探軟件找到了多媒體資源的真實地址用下載軟件仍然不能下載。下載一些資源時總是出錯,如果確認地址沒錯的話,大多數情況都是遇上防盜鏈系統了。常見的防盜鏈系統,一般使用在圖片、音視頻、軟件等相關的資源上。
實現原理:把當前請求的主機與服務器的主機進行比對,如果不一樣則就是惡意鏈接,反之則是正常鏈接。
不說了,直接上代碼:
String address=request.getHeader("referer"); //獲取頁面的請求地址
String pathAdd=""; //定義空字符串
if(address!=null){ //判斷當前的頁面的請求地址為空時
URL urlOne=new URL(address);//實例化URL方法
pathAdd=urlOne.getHost(); //獲取請求頁面的服務器主機
}
String address1=request.getRequestURL().toString(); //獲取當前頁面的地址
String pathAdd1="";
if(address1!=null){
URL urlTwo=new URL(address1);
pathAdd1=urlTwo.getHost(); //獲取當前服務器的主機
}
if(!pathAdd.equals(pathAdd1)){ //判斷當前頁面的主機與服務器的主機是否相同
}
