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