原文地址:http://www.cnblogs.com/zhang-cb/p/6112467.html
使用场景:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟通使用”之类的“假图片”。用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载。下载一些资源时总是出错,如果确认地址没错的话,大多数情况都是遇上防盗链系统了。常见的防盗链系统,一般使用在图片、音视频、软件等相关的资源上。
实现原理:把当前请求的主机与服务器的主机进行比对,如果不一样则就是恶意链接,反之则是正常链接。
不说了,直接上代码:
- 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(pathAdd)){ //判断当前页面的主机与服务器的主机是否相同
- }