JAVA

[Java] 인증번호 1분에 최대 5번만 호출 - 개발자 배찌

개발자 배찌 2022. 10. 24. 17:17
728x90

인증번호 1분에 최대 5번만 호출하게끔 하는 로직을
Js에서 제어했다가, Count값을 Console에서 바꾸면
사용자 마음대로 제어가 되버리기때문에
로직을 바꿔달라고 했다.

“서버에서 세션에 값을 넣어서 제어해주세요”

아래 코드를 서버단에 인증번호 클릭할때 타는 로직
맨 앞에 넣어두었다.

int smsAuthCount = HcsSessionUtil.getSessionValue(request, “smsAuthCount”) == null ? 0 : HcsStringUtil.parseInt((String) HcsSessionUtil.getSessionValue(request, “smsAuthCount”));
long currentTime = System.currentTimeMillis();
long authBtnClickTime = HcsSessionUtil.getSessionValue(request, “authBtnClickTime”) == null ? currentTime : HcsStringUtil.parseLong((String) HcsSessionUtil.getSessionValue(request, “authBtnClickTime”));
long authBtnLimitTime = HcsSessionUtil.getSessionValue(request, “authBtnLimitTime”) == null ? authBtnClirkTime + 60 * 1000 : HcsStringUtil.parseLong((String) HcsSessionUtil.getSessionValue(request, “authBtnLimitTime”));

if(smsAuthCount > 4){
	if(authBtnLimitTime < currentTIme){
		smsAuthCount = 1;
		authBtnClickTime = currentTime;
		authVtnLimitTIme = authBtnClickTime + 60 * 1000;

		HcsSessionUtil.setSessionValue(request, “smsAuthCount”, “”+smsAuthCount);
		HcsSessionUtil.setSessionValue(request, “authBtnClickTime”, “”+ authBtnClickTime);
		HcsSessionUtil.setSessionValue(request, “authBtnLimitTime”, “”+ authBtnLimitTime);
		
	} else {
		Status status = new Status();
		status.setErrorCode(-3);
		status.setErrorMsg(“1분에 5번까지만 요청 가능합니다.”);
		retur responseFAIL(mav, status);
	}
} else {
	if(authBtnLimitTime < currentTime){
		smsAuthCount = 1;
		authBtnClickTime = currentTime;
		authVtnLimitTIme = authBtnClickTime + 60 * 1000;

		HcsSessionUtil.setSessionValue(request, “smsAuthCount”, “”+smsAuthCount);
		HcsSessionUtil.setSessionValue(request, “authBtnClickTime”, “”+ authBtnClickTime);
		HcsSessionUtil.setSessionValue(request, “authBtnLimitTime”, “”+ authBtnLimitTime);
	} else {
		smsAuthCount++;
		HcsSessionUtil.setSessionValue(request, “smsAuthCount”, “”+smsAuthCount);
		HcsSessionUtil.setSessionValue(request, “authBtnClickTime”, “”+ authBtnClickTime);
		HcsSessionUtil.setSessionValue(request, “authBtnLimitTime”, “”+ authBtnLimitTime);
			
	}
}


해결완료!!