盗链就是未经允许而私自将其他网站中一些资源的链接地址(如文章、图片、音乐、软件等地址)贴到自己的网站中,从而不必将这些资源上传到自己的空间中就可以提供给用户浏览及下载。盗链产生的严重后果可能使得被盗链的网站服务器因访问的人数过多而瘫痪。         防止页面被盗链,可以用请求中的"referer"z字段,他记录了但前请求的上一次访问地址,所以可以在需求被保护的页面中通过判断请求头中"referer"字段的内容来得知当前请求是否从其他网站中触发的,从而可以进行相应的处理。

         对需要保护的页面编写防盗链代码,如下:

 

 

  1. <%  
  2.     String referer=request.getHeader("referer");  
  3.     //从请求头字符串中查找本站的信息  
  4.     //查看请求头字符串中是否包含本站的域名和请求资源名  
  5.     if(referer==null || referer.indexOf("localhost:8080/mr/")<0){  
  6.         response.sendRedirect("error.jsp");  
  7.     }  
  8. %>  

 

说明:
         通过Request对象的getHeader()方法获取当前请求的上一次访问的地址,然后通过判断该地址中是否存在"localhat:8080/mr/"来确定当前请求是否来自"mr"