From fb5a9f2aa4dab720ff32ac229ac68f98de532a2a Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期一, 15 四月 2024 18:32:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java index 7785b88..c1f0c39 100644 --- a/Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-deploy/src/main/java/com/vci/ubcs/deploy/service/impl/DeployAppsServiceImpl.java @@ -202,8 +202,12 @@ * @throws ServiceException */ @Override - public boolean saveOrUpdateServiceInfo(DeployAppsVO deployAppsVO) throws ServiceException { - return this.saveOrUpdate(deployAppsVO); + public R saveOrUpdateServiceInfo(DeployAppsVO deployAppsVO) throws ServiceException { + boolean checkBoolean = checkCmdVer(deployAppsVO.getStartCmd()) && checkCmdVer(deployAppsVO.getStopCmd()) && checkCmdVer(deployAppsVO.getRestartCmd()); + if(checkBoolean){ + return R.fail("閰嶇疆鐨勫懡浠や腑鍖呭惈鍗遍櫓鍛戒护锛屽锛歳m銆乵v銆乺m -rf銆乧hmod绛夊懡浠ゅ拰鍏抽敭瀛楋紒 "); + } + return R.status(this.saveOrUpdate(deployAppsVO)); } /** @@ -349,6 +353,9 @@ if(Func.isEmpty(cmd)){ return "The executed command is empty"; } + if(checkCmdVer(cmd)){ + return "閰嶇疆鐨勫懡浠や腑鍖呭惈鍗遍櫓鍛戒护锛屽锛歳m銆乵v銆乺m -rf銆乧hmod绛夊懡浠ゅ拰鍏抽敭璇嶏紒 "; + } // 鎵цLinux鍛戒护 log.info("寮�濮嬫墽琛屽懡浠わ細"+cmd); // Process process = Runtime.getRuntime().exec(cmd); @@ -429,4 +436,22 @@ return "8080"; } + /** + * 鍚姩銆佸仠姝€�侀噸鍚懡浠ゆ牎楠� + * @param cmd + * @return true: 鍖呭惈楂橀闄╁懡浠わ紝 false锛氫笉鍖呭惈 + */ + private boolean checkCmdVer(String cmd){ + if(Func.isEmpty(cmd)){ + return false; + } + String[] highRiskCommands = {"rm", "rmdir", "mv", "unlink", "rm -rf", "mv -rf", "dd", "chmod", "chown", "mkfs", "shutdown", "reboot", "kill"}; + for(String highRiskCmd : highRiskCommands){ + if(cmd.contains(highRiskCmd)){ + return true; + } + } + return false; + } + } -- Gitblit v1.9.3