휴대폰인증시 ci, di 값 xss 필터 제외처리

This commit is contained in:
itn 2023-08-21 11:32:24 +09:00
parent ac0e04d763
commit 40f2c5dbb1
4 changed files with 162 additions and 123 deletions

View File

@ -50,6 +50,9 @@ public class InterceptorHandler extends HandlerInterceptorAdapter{
&& !name.toLowerCase().contains("info3list") && !name.toLowerCase().contains("info3list")
&& !name.toLowerCase().contains("info4list") && !name.toLowerCase().contains("info4list")
&& !name.toLowerCase().contains("nttcn") && !name.toLowerCase().contains("nttcn")
&& !name.toLowerCase().contains("ci")
&& !name.toLowerCase().contains("certdi")
&& !name.toLowerCase().contains("di")
) { ) {
//파라미터 중에 URL 주소를 넘겨주는 부분이 있어서 해당 부분에것 select~, update~, delete~ 시작하는 주소경로가 있어서 제외처리를 하였음 //파라미터 중에 URL 주소를 넘겨주는 부분이 있어서 해당 부분에것 select~, update~, delete~ 시작하는 주소경로가 있어서 제외처리를 하였음
String[] values = request.getParameterValues(name); String[] values = request.getParameterValues(name);

View File

@ -18,6 +18,8 @@ import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO;
import itn.let.mjo.pay.service.MjonPayVO; import itn.let.mjo.pay.service.MjonPayVO;
import itn.let.mjo.pay.service.RefundService; import itn.let.mjo.pay.service.RefundService;
import itn.let.mjo.pay.service.RefundVO; import itn.let.mjo.pay.service.RefundVO;
import itn.let.sym.grd.service.MberGrdService;
import itn.let.sym.grd.service.MberGrdVO;
import itn.let.uss.umt.service.MberManageVO; import itn.let.uss.umt.service.MberManageVO;
import itn.let.utl.sim.service.EgovFileScrty; import itn.let.utl.sim.service.EgovFileScrty;
@ -44,6 +46,9 @@ public class RefundServiceImpl extends EgovAbstractServiceImpl implements Refund
@Resource(name="mjonPayDAO") @Resource(name="mjonPayDAO")
private MjonPayDAO mjonPayDAO; private MjonPayDAO mjonPayDAO;
@Resource(name = "mberGrdService")
MberGrdService mberGrdService;
@Override @Override
public List<RefundVO> selectRefundList(RefundVO refundVO) throws Exception { public List<RefundVO> selectRefundList(RefundVO refundVO) throws Exception {
return refundDAO.selectRefundList(refundVO); return refundDAO.selectRefundList(refundVO);
@ -176,6 +181,20 @@ public class RefundServiceImpl extends EgovAbstractServiceImpl implements Refund
else else
msg = "결제취소요청이 취소처리 되었습니다"; msg = "결제취소요청이 취소처리 되었습니다";
try {
// 등급제 Start
// 회원별 등급 적용
MberGrdVO mberGrdVO = new MberGrdVO();
mberGrdVO.setMberId(refundVO.getMberId());
mberGrdVO.setAmt("0");
mberGrdVO.setMoid("");
mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);
// End
}
catch (Exception e) {
}
return new StatusResponse(HttpStatus.OK, msg, LocalDateTime.now()); return new StatusResponse(HttpStatus.OK, msg, LocalDateTime.now());
} }

View File

@ -1906,6 +1906,17 @@ public class MjonPayController {
model.addAttribute("mjonCandidateVO", mjonCandidateVO); model.addAttribute("mjonCandidateVO", mjonCandidateVO);
if(pattern.equals("/web/member/pay/PayListAllAjax.do")) {
// 등급제 Start
// 회원별 등급 적용
MberGrdVO mberGrdVO = new MberGrdVO();
mberGrdVO.setMberId(userId);
mberGrdVO.setAmt("0");
mberGrdVO.setMoid("");
mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);
// End
}
if(pattern.equals("/web/member/pay/PayListAllAjax.do") if(pattern.equals("/web/member/pay/PayListAllAjax.do")
|| pattern.equals("/web/member/pay/PayListMobileAjax.do") || pattern.equals("/web/member/pay/PayListMobileAjax.do")
|| pattern.equals("/web/member/pay/PayListCardAjax.do") || pattern.equals("/web/member/pay/PayListCardAjax.do")

View File

@ -315,72 +315,75 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
public void mberGrdSaveByUserLast(MberGrdVO mberGrdVO) throws Exception { public void mberGrdSaveByUserLast(MberGrdVO mberGrdVO) throws Exception {
try { try {
System.out.println("START 회원별 등급 적용"); System.out.println("START 회원별 등급 적용");
System.out.println("아이디 : " + mberGrdVO.getMberId());
// 현재 날짜 구하기 if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
LocalDate now = LocalDate.now(); System.out.println("아이디 : " + mberGrdVO.getMberId());
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
String nowDate = now.format(formatter); // 포맷 적용
mberGrdVO.setRegId(mberGrdVO.getMberId());
mberGrdVO.setEditId(mberGrdVO.getMberId());
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외 // 현재 날짜 구하기
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외"); LocalDate now = LocalDate.now();
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상) DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
if(isMberGrd == 1) { String nowDate = now.format(formatter); // 포맷 적용
// Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회"); mberGrdVO.setRegId(mberGrdVO.getMberId());
MberGrdVO mberGrdVO3 = new MberGrdVO(); mberGrdVO.setEditId(mberGrdVO.getMberId());
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
if (mberGrdVO3 != null) { // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt()); System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo()); MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
// Step 4. 등급제 설정값 조회 if (mberGrdVO1.getGrdNoti().equals("Y")) {
System.out.println("Step 4. 등급제 설정값 조회"); mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO); // Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
if (mberGrdVO4 != null) { System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
mberGrdVO.setAmt(mberGrdVO.getAmt()); int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt()); if(isMberGrd == 1) {
mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice()); // Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice()); System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice()); MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price()); mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price()); if (mberGrdVO3 != null) {
mberGrdVO.setGrdDate(mberGrdVO.getGrdDate()); mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
mberGrdVO.setGrdStartDate(nowDate + " 00:00:00"); mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
mberGrdVO.setGrdStatus("Y"); // Step 4. 등급제 설정값 조회
System.out.println("Step 4. 등급제 설정값 조회");
// Step 5. 인서트 Or 업데이트 MberGrdVO mberGrdVO4 = new MberGrdVO();
System.out.println("Step 5. 인서트 Or 업데이트"); mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
MberGrdVO mberGrdVO5 = new MberGrdVO(); if (mberGrdVO4 != null) {
mberGrdVO5 = selectMberGrdDetail(mberGrdVO); mberGrdVO.setAmt(mberGrdVO.getAmt());
if (mberGrdVO5 != null) { mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
updateMberGrdOk(mberGrdVO); mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice());
mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice());
// 회원별 등급 히스토리 인서트 mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice());
insertMberGrdHist(mberGrdVO); mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price());
} mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price());
else { mberGrdVO.setGrdDate(mberGrdVO.getGrdDate());
// 인서트 mberGrdVO.setGrdStartDate(nowDate + " 00:00:00");
insertMberGrd(mberGrdVO); mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
mberGrdVO.setGrdStatus("Y");
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO); // Step 5. 인서트 Or 업데이트
} System.out.println("Step 5. 인서트 Or 업데이트");
} MberGrdVO mberGrdVO5 = new MberGrdVO();
} mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
} if (mberGrdVO5 != null) {
updateMberGrdOk(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
else {
// 인서트
insertMberGrd(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
}
}
}
}
} }
System.out.println("END 회원별 등급 적용"); System.out.println("END 회원별 등급 적용");
} }
@ -400,66 +403,69 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
try { try {
System.out.println("START 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)"); System.out.println("START 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
System.out.println("아이디 : " + mberGrdVO.getMberId());
// 현재 날짜 구하기 if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
LocalDate now = LocalDate.now(); System.out.println("아이디 : " + mberGrdVO.getMberId());
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
String nowDate = now.format(formatter); // 포맷 적용 // 현재 날짜 구하기
LocalDate now = LocalDate.now();
mberGrdVO.setRegId(mberGrdVO.getMberId()); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
mberGrdVO.setEditId(mberGrdVO.getMberId()); String nowDate = now.format(formatter); // 포맷 적용
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) mberGrdVO.setRegId(mberGrdVO.getMberId());
System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)"); mberGrdVO.setEditId(mberGrdVO.getMberId());
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = selectMberSettingDetail(mberGrdVO); // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
if (mberGrdVO1.getGrdNoti().equals("Y")) { System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate()); MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외 if (mberGrdVO1.getGrdNoti().equals("Y")) {
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외"); mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
if(isMberGrd == 1) { // Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
// Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회 System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회"); int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
MberGrdVO mberGrdVO3 = new MberGrdVO(); if(isMberGrd == 1) {
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO); // Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
if (mberGrdVO3 != null) { System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt()); MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo()); mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
if (mberGrdVO3 != null) {
// Step 4. 등급제 설정값 조회 mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
System.out.println("Step 4. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회"); mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO); // Step 4. 등급제 설정값 조회
if (mberGrdVO4 != null) { System.out.println("Step 4. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
mberGrdVO.setAmt(mberGrdVO.getAmt()); MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt()); mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice()); if (mberGrdVO4 != null) {
mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice()); mberGrdVO.setAmt(mberGrdVO.getAmt());
mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice()); mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price()); mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice());
mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price()); mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice());
mberGrdVO.setGrdDate(mberGrdVO.getGrdDate()); mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice());
mberGrdVO.setGrdStartDate(nowDate + " 00:00:00"); mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price());
mberGrdVO.setGrdEndDate("9999:12:31 23:59:59"); mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price());
mberGrdVO.setGrdStatus("Y"); mberGrdVO.setGrdDate(mberGrdVO.getGrdDate());
mberGrdVO.setGrdStartDate(nowDate + " 00:00:00");
// Step 5. 인서트 Or 업데이트 mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
System.out.println("Step 5. 인서트 Or 업데이트"); mberGrdVO.setGrdStatus("Y");
MberGrdVO mberGrdVO5 = new MberGrdVO();
mberGrdVO5 = selectMberGrdDetail(mberGrdVO); // Step 5. 인서트 Or 업데이트
if (mberGrdVO5 != null) { System.out.println("Step 5. 인서트 Or 업데이트");
updateMberGrdOk(mberGrdVO); MberGrdVO mberGrdVO5 = new MberGrdVO();
} mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
else { if (mberGrdVO5 != null) {
// 인서트 updateMberGrdOk(mberGrdVO);
insertMberGrd(mberGrdVO); }
} else {
} // 인서트
} insertMberGrd(mberGrdVO);
} }
}
}
}
}
} }
System.out.println("END 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)"); System.out.println("END 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
} }