From c4d655034c425b1a45174a7cbd01ad7f44f964cd Mon Sep 17 00:00:00 2001 From: leebj Date: Fri, 27 Dec 2024 10:04:22 +0900 Subject: [PATCH] =?UTF-8?q?=ED=81=B4=EB=9D=BC=EC=9D=B4=EC=96=B8=ED=8A=B8?= =?UTF-8?q?=20IP=20=EC=B6=94=EC=B6=9C=20=EB=A9=94=EC=84=9C=EB=93=9C?= =?UTF-8?q?=EC=9D=98=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/base/web/MainController.java | 4 +-- .../java/cokr/xit/fims/cmmn/CmmnUtil.java | 29 ------------------- 2 files changed, 2 insertions(+), 31 deletions(-) diff --git a/src/main/java/cokr/xit/fims/base/web/MainController.java b/src/main/java/cokr/xit/fims/base/web/MainController.java index e2ea4f1a..c9f25d09 100644 --- a/src/main/java/cokr/xit/fims/base/web/MainController.java +++ b/src/main/java/cokr/xit/fims/base/web/MainController.java @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import cokr.xit.applib.AppCmmnUtil; import cokr.xit.base.code.CommonCode; import cokr.xit.base.code.service.CodeService; import cokr.xit.base.security.access.service.AuthorityService; @@ -23,7 +24,6 @@ import cokr.xit.fims.FimsConf; import cokr.xit.fims.base.FimsUser; import cokr.xit.fims.base.service.bean.OgdpBean; import cokr.xit.fims.base.service.bean.SseBean; -import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.task.TaskRequestMappingHandlerMapping; import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.web.RequestHandlerReader; @@ -167,7 +167,7 @@ public class MainController extends cokr.xit.base.web.MainController { public ModelAndView ipInfo(HttpServletRequest hreq) { String flag = hreq.getParameter("flag"); boolean flagUsable = false; - String remoteAddr = CmmnUtil.getClientIpAddr(hreq); + String remoteAddr = AppCmmnUtil.getClientIpAddr(hreq); String net = ""; String[] LOCAL = {"127.0.0.1", "0:0:0:0:0:0:0:1"}; diff --git a/src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java b/src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java index 0667d87b..5fcb022b 100644 --- a/src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java +++ b/src/main/java/cokr/xit/fims/cmmn/CmmnUtil.java @@ -27,7 +27,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.imageio.ImageIO; -import javax.servlet.http.HttpServletRequest; import org.apache.commons.io.FilenameUtils; import org.springframework.core.io.ClassPathResource; @@ -607,33 +606,5 @@ public class CmmnUtil { return mm * 2.83465f; } - /** - * 클라이언트 IP를 반환한다. - * @param request 서블릿 요청 - * @return 클라이언트 IP - */ - public static String getClientIpAddr(HttpServletRequest request) { - String REGEXP_IPV4_ADDR = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"; - String[] headerNames = {"X-Forwarded-For","Proxy-Client-IP","WL-Proxy-Client-IP","HTTP_CLIENT_IP","HTTP_X_FORWARDED_FOR"}; - - String ip = ""; - for(String headerName : headerNames) { - ip = request.getHeader(headerName); - if(ip != null && ip.contains(",")) { - ip = ip.split(",",-1)[0]; - } - if(ip != null && Pattern.matches(REGEXP_IPV4_ADDR, ip)) { - break; - } - } - if(ip != null && ip.contains(",")) { - ip = ip.split(",",-1)[0]; - } - if(ip == null || !Pattern.matches(REGEXP_IPV4_ADDR, ip)) { - ip = request.getRemoteAddr(); - } - - return ip; - } } \ No newline at end of file