This commit is contained in:
ITN_디자인팀 2023-07-03 12:48:34 +09:00
commit 1bd29db361
4 changed files with 65 additions and 17 deletions

View File

@ -13,6 +13,8 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.google.common.net.InetAddresses;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import itn.com.cmm.LoginVO; import itn.com.cmm.LoginVO;
import itn.com.uss.olh.hpc.service.HackIpService; import itn.com.uss.olh.hpc.service.HackIpService;
@ -84,6 +86,28 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{
HackIpVO hackIpVO = new HackIpVO(); HackIpVO hackIpVO = new HackIpVO();
hackIpVO.setIgnoreIp(userIP); 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); int i_ignoreCnt = hackIpService.selectIgnoreIpCnt(hackIpVO);
@ -151,7 +175,11 @@ public class IPIgnoreInterceptorHandler extends HandlerInterceptorAdapter{
loginLogService.logInsertLoginLog4Ajax(loginLog); loginLogService.logInsertLoginLog4Ajax(loginLog);
}catch(Exception ex) { }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) { }catch(Exception ex) {
ex.printStackTrace(); //ex.printStackTrace();
System.out.println("IPIgnoreInterceptorHandler-preHandle Error !!! " + ex);
//오류가 발생하면 경로 오류를 발생 시킨다.
response.sendRedirect(request.getContextPath() + "/");
return true;
} }
return v_ret; return v_ret;
} }

View File

@ -193,7 +193,7 @@ public class MjonPayV2Controller {
// //
/** /**
* KGM 카드결제 정보 Encode * KGM 간편결제 정보 Encode
* @param MjonPayVO * @param MjonPayVO
* @param modelAndView * @param modelAndView
* @return /web/member/pay/kgmCardEncodeAjax.do * @return /web/member/pay/kgmCardEncodeAjax.do
@ -412,7 +412,7 @@ public class MjonPayV2Controller {
// SMS 체크 // SMS 체크
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) { if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
// 스미싱의심 SMS 알림전송 // 스미싱의심 SMS 알림전송
mjonNoticeSendUtil.smishingSmsNoticeSend("카드결제 데이터 위·변조 가능성 결제오류 처리", Userid, ""); mjonNoticeSendUtil.smishingSmsNoticeSend("간편결제 데이터 위·변조 가능성 결제오류 처리", Userid, "");
} }
// SLACK 체크 // SLACK 체크
@ -506,7 +506,7 @@ public class MjonPayV2Controller {
mjonPayVO.setResultCode(Resultcd); mjonPayVO.setResultCode(Resultcd);
mjonPayVO.setResultMsg(Resultmsg); mjonPayVO.setResultMsg(Resultmsg);
mjonPayVO.setAmt(Prdtprice); // 결제금액 mjonPayVO.setAmt(Prdtprice); // 결제금액
mjonPayVO.setPayMethod("CARD"); // 결제방법 mjonPayVO.setPayMethod("SPAY"); // 결제방법
mjonPayVO.setPgCode("KGM"); // mjonPayVO.setPgCode("KGM"); //
mjonPayVO.setGoodsName(Prdtnm); // mjonPayVO.setGoodsName(Prdtnm); //
mjonPayVO.setPhone(""); // 모바일 mjonPayVO.setPhone(""); // 모바일
@ -566,10 +566,10 @@ public class MjonPayV2Controller {
String rstMsg = ""; String rstMsg = "";
if("0000".equals(request.getParameter("Resultcd"))) { if("0000".equals(request.getParameter("Resultcd"))) {
rstMsg = "카드결제가 정상적으로 완료되었습니다."; rstMsg = "간편결제가 정상적으로 완료되었습니다.";
} }
else { else {
rstMsg = "카드결제가 실패했습니다."; rstMsg = "간편결제가 실패했습니다.";
} }
model.addAttribute("Resultcd", request.getParameter("Resultcd")); model.addAttribute("Resultcd", request.getParameter("Resultcd"));
@ -1464,24 +1464,31 @@ public class MjonPayV2Controller {
// Get Ip // Get Ip
public static String getClientIP(HttpServletRequest request) { public static String getClientIP(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For"); String ip = request.getHeader("X-Forwarded-For");
String ipMethod = "X-Forwarded-For";
if (ip == null) {
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-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"); 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"); 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"); 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(); ip = request.getRemoteAddr();
ipMethod = "getRemoteAddr";
} }
System.out.println("#############################################################"); System.out.println("#############################################################");
System.out.println("KG MOBILIANS NotiUrl - getClientIP : " + ipMethod);
System.out.println("KG MOBILIANS NotiUrl - getClientIP : " + ip); System.out.println("KG MOBILIANS NotiUrl - getClientIP : " + ip);
return ip; return ip;

View File

@ -106,6 +106,17 @@ function insertAddrAjax() {
//if(!confirm("주소록을 추가하시겠습니까?")) { //if(!confirm("주소록을 추가하시겠습니까?")) {
// return; // return;
//} //}
if(!checkHpNum(form.addrPhoneNo.value)){//휴대폰 유효성 검사
if(!checkNorPhoneNum(form.addrPhoneNo.value)){//일반전화 유효성 검사
alert("잘못된 휴대폰번호 또는 일반전화 번호 입니다.");
return false;
}
}
var data = new FormData(form); var data = new FormData(form);
$.ajax({ $.ajax({

View File

@ -56,7 +56,7 @@ function goClose() {
<div class="layer_in" style="height: 330px; padding-top: 0px; !important;"> <div class="layer_in" style="height: 330px; padding-top: 0px; !important;">
<div class="img_box"><img src="/publish/images/content/pay_complete_img.png" alt="" /></div> <div class="img_box"><img src="/publish/images/content/pay_complete_img.png" alt="" /></div>
<div class="text_box"> <div class="text_box">
<div class="title">신용카드 결제</div> <div class="title">간편 결제</div>
<p><c:out value='${Resultmsg}'/></p> <p><c:out value='${Resultmsg}'/></p>
</div> </div>
<div class="popup_btn" style="margin: 30px auto 0 auto;"> <div class="popup_btn" style="margin: 30px auto 0 auto;">