servlet过滤器防xss,sql注入.filter里修改parameter参数
这中间起到最关键作用的就是HttpServletRequestWrapper
首先创建一个类继承HttpServletRequestWrapper。然后重写getAttribute,getParameter,getParameterValues,getParameterMap这几个方法。
public class OpRequestWrap extends HttpServletRequestWrapper { public OpRequestWrap(HttpServletRequest request) { super(request); } private String format(String name) { return StringUtils.replaceEach(name,// new String[]{"/"","'","<",">"}, // new String[]{""","′","<",">"}); //return StringEscapeUtils.escapeHtml4(name); } /** * * @param name * @return */ public Object getAttribute(String name) { Object value = super.getAttribute(name); if (value instanceof String) { value = format(String.valueOf(value)); } return value; } /** * 重写getParameter方法 * * @param name * @return */ public String getParameter(String name) { String value = super.getParameter(name); if (value == null) return null; return format(value); } /** * * @param name * @return */ public String[] getParameterValues(String name) { String[] values = super.getParameterValues(name); if (values != null) { for (int i = 0; i < values.length; i++) { values[i] = format(values[i]); } } return values; } /** * @return */ public MapgetParameterMap() { HashMap paramMap = (HashMap ) super.getParameterMap(); paramMap = (HashMap ) paramMap.clone(); for (Iterator iterator = paramMap.entrySet().iterator(); iterator.hasNext(); ) { Map.Entry entry = (Map.Entry ) iterator.next(); String [] values = entry.getValue(); for (int i = 0; i < values.length; i++) { if(values[i] instanceof String){ values[i] = format(values[i]); } } entry.setValue(values); } return paramMap; }}
然后配置一个过滤器;
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { filterChain.doFilter(new OpRequestWrap((HttpServletRequest) servletRequest),servletResponse); }
请仔细看doFilter里面的request,这一步也很重要。它是对request进行包装,才能起到修改request中参数,属性的功能。
>更多相关文章
- 11-15不看后悔!程序员防御XSS的无奈
- 11-10揭秘Web黑客3种注入点判断方法
- 11-10黑客Web脚本注入攻击深度剖析
- 10-21全球无线网络面临黑客攻击风险 WiFi曝安全漏洞
- 02-24iPhone再爆安全漏洞 黑客1分钟可盗照片及加密信息
- 02-22互联网金融风险 警示网站漏洞或成“致命点”
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御