写http请求网络文件,看返回结果的http header是什么,猜测的,你可以试试
公司专注于为企业提供成都网站制作、成都做网站、微信公众号开发、商城开发,小程序制作,软件定制设计等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联更提供一系列网站制作和网站推广的服务。
防止图片盗链的两种方式:
1 配置filter,非拦截器, 过滤请求.
web.xml:
filter-mapping
filter-nameimageRedirectFilter/filter-name
url-pattern/upload/images/*/url-pattern
/filter-mapping
源代码:
public class ImageRedirectFilter implements Filter {
public void init(FilterConfig config) throws ServletException {
}
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);
}
}
public void destroy() {
}
}
2 在放置图片的folder内添加.htaaccess的支持
类似下面这样
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !simcolecn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxiacom [NC]
RewriteCond %{HTTP_REFERER} !googlecom [NC]
RewriteCond %{HTTP_REFERER} !baiducom [NC]
RewriteCond %{HTTP_REFERER} !bloglinescom [NC]
RewriteRule (jpg|gif|png|bmp|swf|jpeg) /image/replacegif [RNCL]
RewriteRule ^(*)$ $ [L]
写个servlet就好了呀,要是在springmvc里,写在controller里也可以,先把请求的url设定一下,然后获取后面参数内容,然后再将处理结果放到response里