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.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;
@ -85,6 +87,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);
//System.out.println("result=="+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;
}

View File

@ -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");
String ipMethod = "X-Forwarded-For";
if (ip == null) {
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;

View File

@ -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({

View File

@ -56,7 +56,7 @@ function goClose() {
<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="text_box">
<div class="title">신용카드 결제</div>
<div class="title">간편 결제</div>
<p><c:out value='${Resultmsg}'/></p>
</div>
<div class="popup_btn" style="margin: 30px auto 0 auto;">