diff --git a/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java b/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java index 8704736f..7f905dd7 100644 --- a/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java +++ b/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java @@ -13,6 +13,8 @@ import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; +import com.google.common.net.InetAddresses; + import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.LoginVO; import itn.com.uss.olh.hpc.service.HackIpService; @@ -91,33 +93,13 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{ * 범위 값이 아닌경우 오류 처리 * * */ - String[] checkIP = userIP.split("\\."); + boolean ipCheckType = false; - - if(checkIP.length < 4 || checkIP == null) { - - System.out.println("IPIgnoreInterceptorHandler-preHandle Header IP Check ERROR !!! "); - System.out.println("userIP ::: "+userIP); - response.sendRedirect(request.getContextPath() + "/"); - return true; - - }else { - - for(String tmp : checkIP) { - - int ipNum = Integer.parseInt(tmp); - - if(ipNum >=0 && ipNum <= 255) { - - ipCheckType = true; - - } - - } - + //IPv4, IPv6 모두 체크 해줌 + if(InetAddresses.isInetAddress(userIP)) { + ipCheckType = true; } - if(!ipCheckType) { System.out.println("IPIgnoreInterceptorHandler-preHandle Header IP Check ERROR !!! ");