📄 requestblocker.java~
字号:
package webtests.filters;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class RequestBlocker implements Filter { private Properties blockThese = new Properties(); { blockThese.setProperty("company", "FlakyNetworks"); } private ServletContext ctx; public void init(javax.servlet.FilterConfig filterConfig) throws ServletException { ctx = filterConfig.getServletContext(); ctx.log("Filter " + filterConfig.getFilterName() + " initialized."); } public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException { HttpServletRequest hsr = (HttpServletRequest)servletRequest; final HttpServletResponse resp = (HttpServletResponse)servletResponse; boolean block = false; String message = null; Enumeration paramNames = hsr.getParameterNames(); while (paramNames.hasMoreElements()) { String paramName = (String)paramNames.nextElement(); System.out.println("paramName=" +paramName); String[] paramValues =hsr.getParameterValues(paramName); for (Enumeration propertyNames = blockThese.propertyNames(); propertyNames.hasMoreElements() ;) { String propertyName = (String)propertyNames.nextElement(); System.out.println("propertyName =" + propertyName); String propertyValue = (String)blockThese.getProperty(propertyName); String paramValue = paramValues[0]; System.out.println("paramValue =" + paramValue); if(paramName.equals(propertyName)&¶mValue.equals(propertyValue)) { System.out.println("send to Error Page"); block = true; message = new String("Request for "+propertyName+" "+propertyValue+" rejected."); // resp.sendError(resp.SC_SERVICE_UNAVAILABLE, "Request for "+propertyName+" "+propertyValue+" rejected."); } else { //filterChain.doFilter(hsr, resp); } } } if (block==true) { resp.sendError(resp.SC_SERVICE_UNAVAILABLE, message);} else { filterChain.doFilter(hsr, resp); } } public void destroy() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -