English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> JavaEE中使用Filter来实现图片的防盗链

 

JavaEE中使用Filter来实现图片的防盗链

威盾防火墙 2015-01-06

 

一、防盗链图片的filter

public class ImageRedirectFilter implements Filter {

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {

  HttpServletRequest request = (HttpServletRequest) req;
  HttpServletResponse response = (HttpServletResponse) res;

  // 禁止缓存 
  response.setHeader("Cache-Control", "no-store"); 
  response.setHeader("Pragrma", "no-cache"); 
  response.setDateHeader("Expires", 0);

  // 链接来源地址 
  String referer = request.getHeader("referer"); 
  System.out.println("refer is"+referer);

  if (referer == null || !referer.contains(request.getServerName())) {
   // 如果链接地址来自其他网站,则返回错误图片
   request.getRequestDispatcher("/error.gif").forward(request, response); 
  }
  else { 
   //图片正常显示 
   chain.doFilter(request, response); 
  } 
}
}


二、web.xml

<filter>
 <filter-name>imageRedirectFilter</filter-name>
 <filter-class>com.filter.ImageRedirectFilter</filter-class>
</filter>
<filter-mapping> 
 <filter-name>imageRedirectFilter</filter-name> 
 <url-pattern>/upload/images/*</url-pattern> 
</filter-mapping>

 


相关内容: 最新内容:
CMP防盗链的相关讨论[2015-01-06]
图片服务的防盗链问题[2015-01-06]
防盗链技术终极解决方案[2015-01-06]
Apache带宽限制和防盗链设置方法[2015-01-06]
1.5.3 防盗链配置实例[2015-01-06]
阿里云OSS 防盗链[2015-01-06]
CMP防盗链的相关讨论[2015-01-06]
图片服务的防盗链问题[2015-01-06]
防盗链技术终极解决方案[2015-01-06]
Apache带宽限制和防盗链设置方法[2015-01-06]
从城管网站遭恶搞看网站如何防止黑客攻击[2015-01-06]
关于win 2003系统的一些常见问题的解答[2015-01-06]