您的位置:首页 > Web前端

使用Referer实现防盗链防下载2

2017-10-26 00:00 519 查看
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
//获取链接
String referer=req.getHeader("referer");
System.out.println(referer);
int duankou=request.getLocalPort();
//获取本电脑ip地址
String serverName=req.getServerName();
String ip="http://"+serverName+":"+duankou+"/";
if(referer==null||!referer.contains(serverName)||referer.contains("jiump4")||referer.equals(ip)){
req.getRequestDispatcher("/images/timg.jpg").forward(req, res);
return;
}
chain.doFilter(req, res);

}

<filter>
<filter-name>RefererFilter</filter-name>
<filter-class>com.enet.fileter.RefererFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RefererFilter</filter-name>
<url-pattern>/jiump4/*</url-pattern>
</filter-mapping>


在上个版本发现了一点问题

referer中在下载的时候,获取到的地址 资源的地址 or http:// +ip地址+ : +端口号+ /

然后我修改了一下判断
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息