From 2aa3524104d790096a85da3e1867137d11b11166 Mon Sep 17 00:00:00 2001 From: shangguanyanfei Date: Fri, 26 Apr 2019 14:57:54 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E7=BB=9F=E8=AE=A1-?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E6=8A=A5=E8=A1=A8-=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E8=8C=83=E5=9B=B4=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E4=B8=80=E4=B8=AA=E6=9C=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/WEB-INF/views/report/eventBlockList.jsp | 8 ++++---- .../WEB-INF/views/report/eventKeyProtectionList.jsp | 8 ++++---- src/main/webapp/WEB-INF/views/report/eventMonitorList.jsp | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/webapp/WEB-INF/views/report/eventBlockList.jsp b/src/main/webapp/WEB-INF/views/report/eventBlockList.jsp index 47bcb06eb..c7036c91e 100644 --- a/src/main/webapp/WEB-INF/views/report/eventBlockList.jsp +++ b/src/main/webapp/WEB-INF/views/report/eventBlockList.jsp @@ -277,7 +277,7 @@
+ value="${log.searchTaskStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchTaskStartTime','#searchTaskEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -287,7 +287,7 @@
+ value="${log.searchTaskEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchTaskStartTime','#searchTaskEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -298,7 +298,7 @@
+ value="${log.searchReportStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchReportStartTime','#searchReportEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -308,7 +308,7 @@
+ value="${log.searchReportEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchReportStartTime','#searchReportEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
diff --git a/src/main/webapp/WEB-INF/views/report/eventKeyProtectionList.jsp b/src/main/webapp/WEB-INF/views/report/eventKeyProtectionList.jsp index 4f8fbf597..30b1e940f 100644 --- a/src/main/webapp/WEB-INF/views/report/eventKeyProtectionList.jsp +++ b/src/main/webapp/WEB-INF/views/report/eventKeyProtectionList.jsp @@ -268,7 +268,7 @@
+ value="${log.searchTaskStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchTaskStartTime','#searchTaskEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -278,7 +278,7 @@
+ value="${log.searchTaskEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchTaskStartTime','#searchTaskEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -289,7 +289,7 @@
+ value="${log.searchReportStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchReportStartTime','#searchReportEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -299,7 +299,7 @@
+ value="${log.searchReportEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchReportStartTime','#searchReportEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
diff --git a/src/main/webapp/WEB-INF/views/report/eventMonitorList.jsp b/src/main/webapp/WEB-INF/views/report/eventMonitorList.jsp index bf96d42e1..4378e167a 100644 --- a/src/main/webapp/WEB-INF/views/report/eventMonitorList.jsp +++ b/src/main/webapp/WEB-INF/views/report/eventMonitorList.jsp @@ -284,7 +284,7 @@
+ value="${log.searchTaskStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchTaskStartTime','#searchTaskEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -294,7 +294,7 @@
+ value="${log.searchTaskEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchTaskStartTime','#searchTaskEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -305,7 +305,7 @@
+ value="${log.searchReportStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchReportStartTime','#searchReportEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
@@ -315,7 +315,7 @@
+ value="${log.searchReportEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchReportStartTime','#searchReportEndTime',1,'m','yyyy-MM-dd hh:mm:ss',false)"/>
From 9ade86518734ec6a03c99e5de2c2774499fc74b3 Mon Sep 17 00:00:00 2001 From: duandongmei Date: Fri, 26 Apr 2019 15:42:39 +0800 Subject: [PATCH 2/3] =?UTF-8?q?ddos=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nis/util/ConfigConvertUtil.java | 10 +++++----- .../java/com/nis/util/SchedulerTaskUtil.java | 16 ++++++++++++---- .../ConfigSynchronizationService.java | 2 ++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/nis/util/ConfigConvertUtil.java b/src/main/java/com/nis/util/ConfigConvertUtil.java index 1adca16c7..fcf8abc9a 100644 --- a/src/main/java/com/nis/util/ConfigConvertUtil.java +++ b/src/main/java/com/nis/util/ConfigConvertUtil.java @@ -248,7 +248,7 @@ public class ConfigConvertUtil { List regionIdList = Lists.newArrayList(); T srcCfg = srcList.get(i); BaseIpCfg baseIpCfg = new BaseIpCfg(); - BeanUtils.copyProperties(srcCfg, baseIpCfg); + BeanUtils.copyProperties(srcCfg, baseIpCfg,new String[]{"menuNameCode"}); regionIdList.add(baseIpCfg.getRegionId()); IpCfg cfg = new IpCfg(); BeanUtils.copyProperties(baseIpCfg, cfg); @@ -325,10 +325,10 @@ public class ConfigConvertUtil { } else if (cfgType == 4) { for (int i = 0; i < srcList.size(); i++) { BaseCfg baseCfg = new BaseCfg(); - BeanUtils.copyProperties(srcList.get(i), baseCfg);//拷贝公共属性 + BeanUtils.copyProperties(srcList.get(i), baseCfg,new String[]{"menuNameCode"});//拷贝公共属性 // 一条业务配置创建一个分组 com.nis.domain.maat.MaatCfg.NumBoundaryCfg cfg = new com.nis.domain.maat.MaatCfg.NumBoundaryCfg(); - BeanUtils.copyProperties(srcList.get(i), cfg); + BeanUtils.copyProperties(srcList.get(i), cfg,new String[]{"menuNameCode"}); GroupCfg group = new GroupCfg(); group.setGroupId(baseCfg.getGroupId()); group.setCompileId(baseCfg.getCompileId()); @@ -344,10 +344,10 @@ public class ConfigConvertUtil { } else if (cfgType == 5) { for (int i = 0; i < srcList.size(); i++) { BaseCfg baseCfg = new BaseCfg(); - BeanUtils.copyProperties(srcList.get(i), baseCfg);//拷贝公共属性 + BeanUtils.copyProperties(srcList.get(i), baseCfg,new String[]{"menuNameCode"});//拷贝公共属性 // 一条业务配置创建一个分组 com.nis.domain.maat.MaatCfg.DigestCfg cfg = new com.nis.domain.maat.MaatCfg.DigestCfg(); - BeanUtils.copyProperties(srcList.get(i), cfg); + BeanUtils.copyProperties(srcList.get(i), cfg,new String[]{"menuNameCode"}); GroupCfg group = new GroupCfg(); group.setGroupId(baseCfg.getGroupId()); group.setCompileId(baseCfg.getCompileId()); diff --git a/src/main/java/com/nis/util/SchedulerTaskUtil.java b/src/main/java/com/nis/util/SchedulerTaskUtil.java index 57ee63f4d..e1578cd6f 100644 --- a/src/main/java/com/nis/util/SchedulerTaskUtil.java +++ b/src/main/java/com/nis/util/SchedulerTaskUtil.java @@ -19,6 +19,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import com.google.common.collect.Lists; +import com.google.gson.Gson; import com.nis.domain.basics.AsnIpCfg; import com.nis.domain.callback.InlineIp; import com.nis.domain.configuration.AppPolicyCfg; @@ -384,8 +385,8 @@ public class SchedulerTaskUtil { } } //批量获取regionId,groupId(相同编译下的IP类配置多条ip只获取一个组号),分组复用的域配置不需要重新获取regionId,groupId - List regionIds = ConfigServiceUtil.getId(3, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size()); - List groupIds = ConfigServiceUtil.getId(2, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size()); + List regionIds = ConfigServiceUtil.getId(3, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size()+list.size()); + List groupIds = ConfigServiceUtil.getId(2, ipList.size()+strList.size()+complexStrList.size()+numList.size()+fileList.size()+list.size()); entity.setIsValid(isValid);//将最新的配置状态赋给配置对象 entity.setAuditTime(updateTime); for(int i=0;i list1 = new ArrayList(); String userRegion = ""; - //处理自定义域 + //处理自定义域【DDOS自定义域组成json结构】 + Map ddosUserRegion= new HashMap(); if(userRegionList!=null){ for(Map n:userRegionList){ Object userRegionPosition = n.get("userRegionPosition"); @@ -421,17 +423,23 @@ public class SchedulerTaskUtil { Field field = aClass.getDeclaredField(regionColumn); field.setAccessible(true); value = field.get(cfg); + if(!StringUtil.isEmpty(value)){ if(StringUtil.isEmpty(n.get("regionKey"))){ userRegion = value.toString(); }else{ - userRegion += n.get("regionKey")+"="+value+Constants.USER_REGION_SPLIT; + //userRegion += n.get("regionKey")+"="+value+Constants.USER_REGION_SPLIT; + ddosUserRegion.put(n.get("regionKey"), value); } + }else{ + ddosUserRegion.put(n.get("regionKey"), ""); } } } if(userRegion.endsWith(Constants.USER_REGION_SPLIT)){ userRegion = userRegion.substring(0, userRegion.length()-1); + }else if(!StringUtil.isEmpty(ddosUserRegion)){ + userRegion = new Gson().toJson(ddosUserRegion); } } list1.add(cfg); diff --git a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java index 72d9d86ba..be3565b2d 100644 --- a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java +++ b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java @@ -1324,6 +1324,8 @@ public class ConfigSynchronizationService extends BaseService{ //userRegion += n.get("regionKey")+"="+value+Constants.USER_REGION_SPLIT; ddosUserRegion.put(n.get("regionKey"), value); } + }else{ + ddosUserRegion.put(n.get("regionKey"), ""); } } } From ab8c4448cebb8f6d7022b940902bcd843bc2baa8 Mon Sep 17 00:00:00 2001 From: duandongmei Date: Fri, 26 Apr 2019 16:55:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?IP=20Spoofing=E5=A2=9E=E5=8A=A0=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1ipPool=E7=8A=B6=E6=80=81=E5=8F=98?= =?UTF-8?q?=E6=9B=B4BUG=E6=9B=B4=E6=94=B9=EF=BC=9B=20IP=20Spoofing?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E7=8A=B6=E6=80=81=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8Cippool=E7=8A=B6=E6=80=81=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/PxyObjSpoofingIpPoolDao.java | 2 +- .../configuration/PxyObjSpoofingIpPoolDao.xml | 14 ++++++-------- .../com/nis/web/service/ScheduleService.java | 17 ++++++++--------- .../configuration/InterceptCfgService.java | 2 ++ 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.java b/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.java index d6bec9bc9..921c5b385 100644 --- a/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.java +++ b/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.java @@ -18,6 +18,6 @@ public interface PxyObjSpoofingIpPoolDao extends CrudDao{ PxyObjSpoofingIpPool getPxyObjSpoofingIpPool(Long cfgId); int insert(PxyObjSpoofingIpPool spoofingPool); int update(PxyObjSpoofingIpPool spoofingPool); - int updateState(@Param("tableName")String tableName,@Param("compileId")int compileId,@Param("isValid")Integer isValid,@Param("editorId")Long editorId); + int updateState(@Param("tableName")String tableName,@Param("compileId")String compileId,@Param("isValid")Integer isValid); List findByPage(@Param("ids")String ids); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml b/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml index 7507fd095..5fa427f5f 100644 --- a/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/PxyObjSpoofingIpPoolDao.xml @@ -309,14 +309,12 @@ - update ${tableName} - - is_valid = #{isValid} , - is_audit = 1, - editor_id = #{editorId}, - edit_time=now(), - - where compile_id = #{compileId} + UPDATE ${tableName} SET + is_valid = #{isValid,jdbcType=INTEGER}, + audit_time = now() + + AND cfg_id =#{compileId} + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/ScheduleService.java b/src/main/java/com/nis/web/service/ScheduleService.java index 12d4c1a71..08c07b17c 100644 --- a/src/main/java/com/nis/web/service/ScheduleService.java +++ b/src/main/java/com/nis/web/service/ScheduleService.java @@ -11,6 +11,7 @@ import org.springframework.transaction.annotation.Transactional; import com.nis.domain.ScheduleCfg; import com.nis.domain.ScheduleExceInfo; import com.nis.domain.configuration.BaseCfg; +import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.PxyObjSpoofingIpPool; import com.nis.util.SchedulerTaskUtil; import com.nis.util.ServiceConfigTemplateUtil; @@ -58,13 +59,6 @@ public class ScheduleService extends BaseService{ if(isValid == 0) { isIssueContent=0; } - if(cfg.getServiceId().equals(518)){ - try{ - pxyObjSpoofingIpPoolDao.updateState("pxy_obj_spoofing_ip_pool",compileId-1,isValid,UserUtils.getUser().getId()); - }catch(Exception e){ - logger.info("更新 pxy_obj_spoofing_ip_pool 异常",e); - } - } ServiceConfigTemplateUtil serviceTemplate = new ServiceConfigTemplateUtil(); List> serviceList = serviceTemplate.getServiceListByServiceId(cfg.getServiceId()); //根据编译ID查询配置表中的配置信息 @@ -75,8 +69,13 @@ public class ScheduleService extends BaseService{ if(cfgList!=null){ for(Map m:cfgList){ String regionTable = m.get("tableName").toString(); - //更新配置域表的isValid字段 - dao.updateCfgTableStatus(regionTable, compileId, isValid); + if(regionTable.equals("pxy_obj_spoofing_ip_pool")){ // IP_Spoofing + //更新配置域表的isValid字段 + pxyObjSpoofingIpPoolDao.updateState(regionTable, baseCfg.getUserRegion3(), isValid); + }else{ + //更新配置域表的isValid字段 + dao.updateCfgTableStatus(regionTable, compileId, isValid); + } } } } diff --git a/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java b/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java index 4a5f8726d..9fcae125f 100644 --- a/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/InterceptCfgService.java @@ -230,6 +230,8 @@ public class InterceptCfgService extends CrudService spoofingPool.setIsAreaEffective(0); spoofingPool.setEditTime(new Date()); spoofingPool.setEditorId(UserUtils.getUser().getId()); + spoofingPool.setIsValid(0); + spoofingPool.setIsAudit(0); pxyObjSpoofingIpPoolDao.update(spoofingPool);//保存仿冒IP池配置 }