一、防盜鍊圖檔的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>
<url-pattern>/upload/images/*</url-pattern>
</filter-mapping>
原帖位址:http://blog.csdn.net/itm_hadf/article/details/7390180