Package net.mingsoft.basic.filter
Class XssHttpServletRequestWrapper
java.lang.Object
javax.servlet.ServletRequestWrapper
javax.servlet.http.HttpServletRequestWrapper
net.mingsoft.basic.filter.XssHttpServletRequestWrapper
- All Implemented Interfaces:
javax.servlet.http.HttpServletRequest,javax.servlet.ServletRequest
public class XssHttpServletRequestWrapper
extends javax.servlet.http.HttpServletRequestWrapper
XSS 过滤器 用于请求参数的脚本数据
-
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH -
Constructor Summary
ConstructorsConstructorDescriptionXssHttpServletRequestWrapper(javax.servlet.http.HttpServletRequest request) XssHttpServletRequestWrapper(javax.servlet.http.HttpServletRequest request, List<String> excludesFiled) -
Method Summary
Modifier and TypeMethodDescription覆盖getHeader方法,将参数名和参数值都做xss过滤。javax.servlet.ServletInputStreamstatic javax.servlet.http.HttpServletRequestgetOrgRequest(javax.servlet.http.HttpServletRequest req) 获取最原始的request的静态方法getParameter(String name) 覆盖getParameter方法,将参数名和参数值都做xss过滤。String[]getParameterValues(String name) javax.servlet.http.HttpServletRequest获取最原始的requestMethods inherited from class javax.servlet.http.HttpServletRequestWrapper
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgradeMethods inherited from class javax.servlet.ServletRequestWrapper
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameterNames, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setRequest, startAsync, startAsyncMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.servlet.ServletRequest
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameterNames, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
-
Field Details
-
TIMED_XSS_CACHE
-
TIMED_REQ_CACHE
-
-
Constructor Details
-
XssHttpServletRequestWrapper
public XssHttpServletRequestWrapper(javax.servlet.http.HttpServletRequest request) -
XssHttpServletRequestWrapper
-
-
Method Details
-
getInputStream
- Specified by:
getInputStreamin interfacejavax.servlet.ServletRequest- Overrides:
getInputStreamin classjavax.servlet.ServletRequestWrapper- Throws:
IOException
-
getParameter
覆盖getParameter方法,将参数名和参数值都做xss过滤。如果需要获得原始的值,则通过super.getParameterValues(name)来获取
getParameterNames,getParameterValues和getParameterMap也可能需要覆盖
- Specified by:
getParameterin interfacejavax.servlet.ServletRequest- Overrides:
getParameterin classjavax.servlet.ServletRequestWrapper
-
getParameterMap
- Specified by:
getParameterMapin interfacejavax.servlet.ServletRequest- Overrides:
getParameterMapin classjavax.servlet.ServletRequestWrapper
-
getParameterValues
- Specified by:
getParameterValuesin interfacejavax.servlet.ServletRequest- Overrides:
getParameterValuesin classjavax.servlet.ServletRequestWrapper
-
getHeader
覆盖getHeader方法,将参数名和参数值都做xss过滤。如果需要获得原始的值,则通过super.getHeaders(name)来获取
getHeaderNames 也可能需要覆盖
- Specified by:
getHeaderin interfacejavax.servlet.http.HttpServletRequest- Overrides:
getHeaderin classjavax.servlet.http.HttpServletRequestWrapper
-
getRequest
public javax.servlet.http.HttpServletRequest getRequest()获取最原始的request- Overrides:
getRequestin classjavax.servlet.ServletRequestWrapper- Returns:
-
getOrgRequest
public static javax.servlet.http.HttpServletRequest getOrgRequest(javax.servlet.http.HttpServletRequest req) 获取最原始的request的静态方法- Returns:
-