javaWeb防止恶意登陆或防盗链的使用

使用场景:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟通使用”之类的“假图片”。用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载。下载一些资源时总是出错,如果确认地址没错的话,大多数情况都是遇上防盗链系统了。常见的防盗链系统,一般使用在图片、音视频、软件等相关的资源上。

实现原理:把当前请求的主机与服务器的主机进行比对,如果不一样则就是恶意链接,反之则是正常链接。

不说了,直接上代码:

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)){  //判断当前页面的主机与服务器的主机是否相同    
      }
原文地址:https://www.cnblogs.com/zhang-cb/p/6112467.html