避免重新开发车轮。是否有任何示例Java EE servlet过滤器负责一些基本的安全检查/即
我也想知道,对于那些特定类型的请求,servlet过滤器中等同于Thread.sleep(1000);
的东西是不是一件坏事。
答案 0 :(得分:4)
也许这会有所帮助。
public class SuspiciousURLFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
String requestURI = httpRequest.getRequestURI();
if (requestURI.endsWith(".exe")) {
HttpServletResponse httpResponse = (HttpServletResponse) response;
//send error or maybe redirect to some error page
httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST);
}
filterChain.doFilter(request, response);
}
@Override
public void init(FilterConfig config) throws ServletException {
}
}
在你的web.xml中:
<filter>
<filter-name>suspiciousURLFilter </filter-name>
<filter-class>your.package.SuspiciousURLFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SuspiciousURLFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>