作者 RuoYi

定时任务屏蔽rmi远程调用

@@ -126,4 +126,9 @@ public class Constants @@ -126,4 +126,9 @@ public class Constants
126 * 资源映射路径 前缀 126 * 资源映射路径 前缀
127 */ 127 */
128 public static final String RESOURCE_PREFIX = "/profile"; 128 public static final String RESOURCE_PREFIX = "/profile";
  129 +
  130 + /**
  131 + * RMI 远程方法调用
  132 + */
  133 + public static final String LOOKUP_RMI = "rmi://";
129 } 134 }
@@ -13,12 +13,14 @@ import org.springframework.web.bind.annotation.RequestBody; @@ -13,12 +13,14 @@ import org.springframework.web.bind.annotation.RequestBody;
13 import org.springframework.web.bind.annotation.RequestMapping; 13 import org.springframework.web.bind.annotation.RequestMapping;
14 import org.springframework.web.bind.annotation.RestController; 14 import org.springframework.web.bind.annotation.RestController;
15 import com.ruoyi.common.annotation.Log; 15 import com.ruoyi.common.annotation.Log;
  16 +import com.ruoyi.common.constant.Constants;
16 import com.ruoyi.common.core.controller.BaseController; 17 import com.ruoyi.common.core.controller.BaseController;
17 import com.ruoyi.common.core.domain.AjaxResult; 18 import com.ruoyi.common.core.domain.AjaxResult;
18 import com.ruoyi.common.core.page.TableDataInfo; 19 import com.ruoyi.common.core.page.TableDataInfo;
19 import com.ruoyi.common.enums.BusinessType; 20 import com.ruoyi.common.enums.BusinessType;
20 import com.ruoyi.common.exception.job.TaskException; 21 import com.ruoyi.common.exception.job.TaskException;
21 import com.ruoyi.common.utils.SecurityUtils; 22 import com.ruoyi.common.utils.SecurityUtils;
  23 +import com.ruoyi.common.utils.StringUtils;
22 import com.ruoyi.common.utils.poi.ExcelUtil; 24 import com.ruoyi.common.utils.poi.ExcelUtil;
23 import com.ruoyi.quartz.domain.SysJob; 25 import com.ruoyi.quartz.domain.SysJob;
24 import com.ruoyi.quartz.service.ISysJobService; 26 import com.ruoyi.quartz.service.ISysJobService;
@@ -81,7 +83,11 @@ public class SysJobController extends BaseController @@ -81,7 +83,11 @@ public class SysJobController extends BaseController
81 { 83 {
82 if (!CronUtils.isValid(sysJob.getCronExpression())) 84 if (!CronUtils.isValid(sysJob.getCronExpression()))
83 { 85 {
84 - return AjaxResult.error("cron表达式不正确"); 86 + return AjaxResult.error("新增任务'" + sysJob.getJobName() + "'失败,Cron表达式不正确");
  87 + }
  88 + else if (StringUtils.containsIgnoreCase(sysJob.getInvokeTarget(), Constants.LOOKUP_RMI))
  89 + {
  90 + return AjaxResult.error("新增任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'rmi://'调用");
85 } 91 }
86 sysJob.setCreateBy(SecurityUtils.getUsername()); 92 sysJob.setCreateBy(SecurityUtils.getUsername());
87 return toAjax(jobService.insertJob(sysJob)); 93 return toAjax(jobService.insertJob(sysJob));
@@ -97,7 +103,11 @@ public class SysJobController extends BaseController @@ -97,7 +103,11 @@ public class SysJobController extends BaseController
97 { 103 {
98 if (!CronUtils.isValid(sysJob.getCronExpression())) 104 if (!CronUtils.isValid(sysJob.getCronExpression()))
99 { 105 {
100 - return AjaxResult.error("cron表达式不正确"); 106 + return AjaxResult.error("修改任务'" + sysJob.getJobName() + "'失败,Cron表达式不正确");
  107 + }
  108 + else if (StringUtils.containsIgnoreCase(sysJob.getInvokeTarget(), Constants.LOOKUP_RMI))
  109 + {
  110 + return AjaxResult.error("修改任务'" + sysJob.getJobName() + "'失败,目标字符串不允许'rmi://'调用");
101 } 111 }
102 sysJob.setUpdateBy(SecurityUtils.getUsername()); 112 sysJob.setUpdateBy(SecurityUtils.getUsername());
103 return toAjax(jobService.updateJob(sysJob)); 113 return toAjax(jobService.updateJob(sysJob));
@@ -140,7 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -140,7 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
140 </foreach> 140 </foreach>
141 </update> 141 </update>
142 142
143 - <update id="updateDeptStatusNormal" parameterType="Long"> 143 + <update id="updateDeptStatusNormal" parameterType="Long">
144 update sys_dept set status = '0' where dept_id in 144 update sys_dept set status = '0' where dept_id in
145 <foreach collection="array" item="deptId" open="(" separator="," close=")"> 145 <foreach collection="array" item="deptId" open="(" separator="," close=")">
146 #{deptId} 146 #{deptId}