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

简介:

一、防盗链图片的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>

 

原帖地址:http://blog.csdn.net/itm_hadf/article/details/7390180

目录
相关文章
|
2月前
|
Java
java通过commons-fileupload实现多张图片的上传(servlet)
java通过commons-fileupload实现多张图片的上传(servlet)
24 2
|
2月前
使用Servlet上传多张图片——Servlet层(ProductServlet.java)
使用Servlet上传多张图片——Servlet层(ProductServlet.java)
13 0
|
2月前
使用Servlet上传多张图片——前台页面层(Index.jsp)
使用Servlet上传多张图片——前台页面层(Index.jsp)
14 0
|
2月前
|
前端开发 Java
java通过commons-fileupload实现多张图片的上传(jsp页面)
java通过commons-fileupload实现多张图片的上传(jsp页面)
16 2
|
12天前
|
前端开发 Java
在springboot项目中实现将上传的jpg图片类型转为pdf并保存到本地
使用uniapp的uni.canvasToTempFilePath方法,将canvas内容转为jpg并上传至服务器。后端接收到jpg文件后,通过Java的PDFBox库进行处理。代码包括:选取画板内容为jpg,转换为临时文件路径,基于此路径生成File对象并上传,服务器端利用PDFBox处理上传的jpg文件。依赖:PDFBox 2.0.8。
20 3
|
1月前
|
Java
SpringBoot配置图片访问404SpringBoot配置图片访问路径springboot如何访问图片
SpringBoot配置图片访问404SpringBoot配置图片访问路径springboot如何访问图片
13 0
|
7月前
|
Java 应用服务中间件 Android开发
53SpringMVC -上传图片
53SpringMVC -上传图片
25 0
|
7月前
|
Java
【工具类】图片压缩工具类,可压缩jpg, png等图片
【工具类】图片压缩工具类,可压缩jpg, png等图片
79 0
|
3月前
|
XML PHP 数据格式
小课堂 -- xss filter过滤器
小课堂 -- xss filter过滤器
21 0
|
5月前
|
Java Maven 数据安全/隐私保护
SpringBoot接口中如何直接返回图片数据
SpringBoot接口中如何直接返回图片数据