The filter of a small anti-leech image can be used together
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;
// Disable caching
Response. setheader ("cache-control", "No-store ");
Response. setheader ("pragrma", "No-Cache ");
Response. setdateheader ("expires", 0 );
// Link Source Address
String Referer = request. getheader ("Referer ");
System. Out. println ("refer is" + Referer );
If (Referer = NULL |! Referer. Contains (request. getservername ())){
/**
* If the link address is from another website, an error image is returned.
*/
Request. getrequestdispatcher ("/error.gif"). Forward (request,
Response );
} Else {
/**
* The image is displayed normally.
*/
Chain. dofilter (request, response );
}
}
Public void destroy (){
}
}
Web. xml:
<Filter-mapping>
<Filter-Name> imageredirectfilter </filter-Name>
<URL-pattern>/upload/images/* </url-pattern>
</Filter-mapping>