휴대폰인증시 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("info4list")
&& !name.toLowerCase().contains("nttcn")
&& !name.toLowerCase().contains("ci")
&& !name.toLowerCase().contains("certdi")
&& !name.toLowerCase().contains("di")
) {
//파라미터 중에 URL 주소를 넘겨주는 부분이 있어서 해당 부분에것 select~, update~, delete~ 시작하는 주소경로가 있어서 제외처리를 하였음
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.RefundService;
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.utl.sim.service.EgovFileScrty;
@ -44,6 +46,9 @@ public class RefundServiceImpl extends EgovAbstractServiceImpl implements Refund
@Resource(name="mjonPayDAO")
private MjonPayDAO mjonPayDAO;
@Resource(name = "mberGrdService")
MberGrdService mberGrdService;
@Override
public List<RefundVO> selectRefundList(RefundVO refundVO) throws Exception {
return refundDAO.selectRefundList(refundVO);
@ -176,6 +181,20 @@ public class RefundServiceImpl extends EgovAbstractServiceImpl implements Refund
else
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());
}

View File

@ -1906,6 +1906,17 @@ public class MjonPayController {
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")
|| pattern.equals("/web/member/pay/PayListMobileAjax.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 {
try {
System.out.println("START 회원별 등급 적용");
System.out.println("아이디 : " + mberGrdVO.getMberId());
// 현재 날짜 구하기
LocalDate now = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
String nowDate = now.format(formatter); // 포맷 적용
if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
System.out.println("아이디 : " + mberGrdVO.getMberId());
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일경우)
System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
mberGrdVO.setRegId(mberGrdVO.getMberId());
mberGrdVO.setEditId(mberGrdVO.getMberId());
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
if(isMberGrd == 1) {
// Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
if (mberGrdVO3 != null) {
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
// 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 4. 등급제 설정값 조회
System.out.println("Step 4. 등급제 설정값 조회");
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
if (mberGrdVO4 != null) {
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 2. 문자할인, B선라인, 스팸회원 대상자 제외
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
if(isMberGrd == 1) {
// Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
if (mberGrdVO3 != null) {
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
// Step 5. 인서트 Or 업데이트
System.out.println("Step 5. 인서트 Or 업데이트");
MberGrdVO mberGrdVO5 = new MberGrdVO();
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
if (mberGrdVO5 != null) {
updateMberGrdOk(mberGrdVO);
// Step 4. 등급제 설정값 조회
System.out.println("Step 4. 등급제 설정값 조회");
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
if (mberGrdVO4 != null) {
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");
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
else {
// 인서트
insertMberGrd(mberGrdVO);
// Step 5. 인서트 Or 업데이
System.out.println("Step 5. 인서트 Or 업데이트");
MberGrdVO mberGrdVO5 = new MberGrdVO();
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
if (mberGrdVO5 != null) {
updateMberGrdOk(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
}
}
}
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
else {
// 인서트
insertMberGrd(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
}
}
}
}
}
System.out.println("END 회원별 등급 적용");
}
@ -400,66 +403,69 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
try {
System.out.println("START 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
System.out.println("아이디 : " + mberGrdVO.getMberId());
// 현재 날짜 구하기
LocalDate now = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
String nowDate = now.format(formatter); // 포맷 적용
if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
System.out.println("아이디 : " + mberGrdVO.getMberId());
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일경우)
System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
mberGrdVO.setRegId(mberGrdVO.getMberId());
mberGrdVO.setEditId(mberGrdVO.getMberId());
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
if(isMberGrd == 1) {
// Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
if (mberGrdVO3 != null) {
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
// 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 4. 등급제 설정값 조회
System.out.println("Step 4. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
if (mberGrdVO4 != null) {
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 2. 문자할인, B선라인, 스팸회원 대상자 제외
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
if(isMberGrd == 1) {
// Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
if (mberGrdVO3 != null) {
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
// Step 5. 인서트 Or 업데이트
System.out.println("Step 5. 인서트 Or 업데이트");
MberGrdVO mberGrdVO5 = new MberGrdVO();
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
if (mberGrdVO5 != null) {
updateMberGrdOk(mberGrdVO);
}
else {
// 인서트
insertMberGrd(mberGrdVO);
}
}
}
}
// Step 4. 등급제 설정값 조회
System.out.println("Step 4. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
if (mberGrdVO4 != null) {
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 업데이트
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 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
}