diff --git a/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java b/src/main/java/itn/com/cmm/interceptor/IPIgnoreInterceptorHandler.java index 8a0a4742..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; @@ -84,6 +86,28 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{ HackIpVO hackIpVO = new HackIpVO(); hackIpVO.setIgnoreIp(userIP); + + /* + * 헤더 아이피 체크 해주기 + * "." 기준으로 문자열 분할 후 0 ~ 255 사이 값인지 체크 + * 범위 값이 아닌경우 오류 처리 + * + * */ + + boolean ipCheckType = false; + //IPv4, IPv6 모두 체크 해줌 + if(InetAddresses.isInetAddress(userIP)) { + ipCheckType = true; + } + + if(!ipCheckType) { + + System.out.println("IPIgnoreInterceptorHandler-preHandle Header IP Check ERROR !!! "); + System.out.println("userIP ::: "+userIP); + response.sendRedirect(request.getContextPath() + "/"); + return true; + + } int i_ignoreCnt = hackIpService.selectIgnoreIpCnt(hackIpVO); @@ -151,7 +175,11 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{ loginLogService.logInsertLoginLog4Ajax(loginLog); }catch(Exception ex) { - ex.printStackTrace(); + //ex.printStackTrace(); + System.out.println("IPIgnoreInterceptorHandler-preHandle Error !!! " + ex); + //오류가 발생하면 메일화면으로 이동 시킨다. + response.sendRedirect(request.getContextPath() + "/"); + return true; } } @@ -163,11 +191,13 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{ }catch(Exception ex) { - ex.printStackTrace(); + //ex.printStackTrace(); + System.out.println("IPIgnoreInterceptorHandler-preHandle Error !!! " + ex); + //오류가 발생하면 경로 오류를 발생 시킨다. + response.sendRedirect(request.getContextPath() + "/"); + return true; } - - return v_ret; } diff --git a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java index 83f04d9f..75f874c1 100644 --- a/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java +++ b/src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java @@ -193,7 +193,7 @@ public class MjonPayV2Controller { // /** - * KGM 카드결제 정보 Encode + * KGM 간편결제 정보 Encode * @param MjonPayVO * @param modelAndView * @return /web/member/pay/kgmCardEncodeAjax.do @@ -412,7 +412,7 @@ public class MjonPayV2Controller { // SMS 체크 if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) { // 스미싱의심 SMS 알림전송 - mjonNoticeSendUtil.smishingSmsNoticeSend("카드결제 데이터 위·변조 가능성 결제오류 처리", Userid, ""); + mjonNoticeSendUtil.smishingSmsNoticeSend("간편결제 데이터 위·변조 가능성 결제오류 처리", Userid, ""); } // SLACK 체크 @@ -506,7 +506,7 @@ public class MjonPayV2Controller { mjonPayVO.setResultCode(Resultcd); mjonPayVO.setResultMsg(Resultmsg); mjonPayVO.setAmt(Prdtprice); // 결제금액 - mjonPayVO.setPayMethod("CARD"); // 결제방법 + mjonPayVO.setPayMethod("SPAY"); // 결제방법 mjonPayVO.setPgCode("KGM"); // mjonPayVO.setGoodsName(Prdtnm); // mjonPayVO.setPhone(""); // 모바일 @@ -566,10 +566,10 @@ public class MjonPayV2Controller { String rstMsg = ""; if("0000".equals(request.getParameter("Resultcd"))) { - rstMsg = "카드결제가 정상적으로 완료되었습니다."; + rstMsg = "간편결제가 정상적으로 완료되었습니다."; } else { - rstMsg = "카드결제가 실패했습니다."; + rstMsg = "간편결제가 실패했습니다."; } model.addAttribute("Resultcd", request.getParameter("Resultcd")); @@ -1464,24 +1464,31 @@ public class MjonPayV2Controller { // Get Ip public static String getClientIP(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); - - if (ip == null) { + String ipMethod = "X-Forwarded-For"; + + if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); + ipMethod = "Proxy-Client-IP"; } - if (ip == null) { + if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); + ipMethod = "WL-Proxy-Client-IP"; } - if (ip == null) { + if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_CLIENT_IP"); + ipMethod = "HTTP_CLIENT_IP"; } - if (ip == null) { + if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + ipMethod = "HTTP_X_FORWARDED_FOR"; } - if (ip == null) { + if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); + ipMethod = "getRemoteAddr"; } - + System.out.println("#############################################################"); + System.out.println("KG MOBILIANS NotiUrl - getClientIP : " + ipMethod); System.out.println("KG MOBILIANS NotiUrl - getClientIP : " + ip); return ip; diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp index 6fb9687c..1995fb63 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp @@ -106,6 +106,17 @@ function insertAddrAjax() { //if(!confirm("주소록을 추가하시겠습니까?")) { // return; //} + + if(!checkHpNum(form.addrPhoneNo.value)){//휴대폰 유효성 검사 + if(!checkNorPhoneNum(form.addrPhoneNo.value)){//일반전화 유효성 검사 + + alert("잘못된 휴대폰번호 또는 일반전화 번호 입니다."); + return false; + + } + + } + var data = new FormData(form); $.ajax({ diff --git a/src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/cardOkUrl.jsp b/src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/cardOkUrl.jsp index 5015737b..759b6a94 100644 --- a/src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/cardOkUrl.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/cop/kgmV2/cardOkUrl.jsp @@ -56,7 +56,7 @@ function goClose() {
