<filter> <filter-name>XssEscape</filter-name> <filter-class>cn.pconline.morden.filter.XssFilter</filter-class> </filter> <filter-mapping> <filter-name>XssEscape</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> </filter-mapping>
package cn.pconline.morden.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class XssFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { chain.doFilter(new XssHttpServletRequestWrapper((HttpServletRequest) request), response); } @Override public void destroy() { } }
この時点で、入力フィルタリングは完了です
複雑なコンテンツの表示、特定の問題が詳細に分析されます。
さらに、フィルターされたコンテンツを表示したくない場合は、StringEscapeUtils.unescapeHtml4() を使用できます。このメソッドは、StringEscapeUtils.escapeHtml4() でエスケープされた文字を復元します。
以上がJava の HttpServletRequestWrapper によって実装された xss インジェクションの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。