From 279f96ffa4578e16fc1ab607da8b9cdc777b5b83 Mon Sep 17 00:00:00 2001 From: sgjj <995959152@qq.com> Date: Wed, 13 May 2020 18:07:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0XSS=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mingsoft/cms/action/web/MCmsAction.java | 10 ++++---- .../java/net/mingsoft/config/WebConfig.java | 23 +++++++++---------- src/main/webapp/templets/1/default/search.htm | 8 +++---- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java b/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java index 2ad8b959..3929bd27 100644 --- a/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java +++ b/src/main/java/net/mingsoft/cms/action/web/MCmsAction.java @@ -295,9 +295,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { Map map = new HashMap<>(); // 读取请求字段 - Map field = request.getParameterMap(); - // 文章字段集合 - Map articleFieldName = new HashMap(); + Map field = BasicUtil.assemblyRequestMap(); // 自定义字段集合 Map diyFieldName = new HashMap(); CategoryEntity column = null; // 当前栏目 @@ -330,9 +328,9 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { // 遍历取字段集合 if (field != null) { - for (Map.Entry entry : field.entrySet()) { + for (Map.Entry entry : field.entrySet()) { if (entry != null) { - String value = entry.getValue()[0]; // 处理由get方法请求中文乱码问题 + String value = entry.getValue().toString(); // 处理由get方法请求中文乱码问题 if (ObjectUtil.isNull(value)) { continue; } @@ -380,7 +378,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { } catch (IOException e1) { e1.printStackTrace(); } - Map searchMap = BasicUtil.assemblyRequestMap(); + Map searchMap = field; searchMap.forEach((k,v)->{ //sql注入过滤 if(sqlFilter(v.toString())){ diff --git a/src/main/java/net/mingsoft/config/WebConfig.java b/src/main/java/net/mingsoft/config/WebConfig.java index 1a0d0ef0..49d86049 100644 --- a/src/main/java/net/mingsoft/config/WebConfig.java +++ b/src/main/java/net/mingsoft/config/WebConfig.java @@ -89,18 +89,17 @@ public class WebConfig implements WebMvcConfigurer { beanTypeAutoProxyCreator.setInterceptorNames("druidStatInterceptor"); return beanTypeAutoProxyCreator; } -// XSS过滤器 -// @Bean -// public FilterRegistrationBean xssFilterRegistration() { -// XSSEscapeFilter xssFilter = new XSSEscapeFilter(); -// FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter); -// xssFilter.excludes.add(".*file/upload.do"); -// xssFilter.excludes.add(".*/jsp/editor.do"); -// xssFilter.excludes.add(".*/?(jpg|js|css|gif|png|ico)$"); -// xssFilter.excludes.add("/"); -// registration.addUrlPatterns("/*"); -// return registration; -// } + //XSS过滤器 + @Bean + public FilterRegistrationBean xssFilterRegistration() { + XSSEscapeFilter xssFilter = new XSSEscapeFilter(); + FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter); + xssFilter.includes.add(".*/search.do"); + registration.setName("XSSFilter"); + registration.addUrlPatterns("/*"); + registration.setOrder(Ordered.HIGHEST_PRECEDENCE); + return registration; + } /** * RequestContextListener注册 diff --git a/src/main/webapp/templets/1/default/search.htm b/src/main/webapp/templets/1/default/search.htm index 4bacfd72..094e9699 100644 --- a/src/main/webapp/templets/1/default/search.htm +++ b/src/main/webapp/templets/1/default/search.htm @@ -12,7 +12,7 @@