728x90
* DB에서 시간 값 가져와 그 값으로 카운트 다운(로그인 몇회 실패시 몇분간 잠금 기능)
로그인 버튼 누르면 form 전송,
폼 전송 시 onsubmit(loginChk()) 으로 function 실행 후 return false이 아니면 폼 전송.
<script>
function loginChk(){
var userid = $('#userid').val();
var userpwd = $('#userpwd').val();
//아이디, 비밀번호 null check
if(userid =="" || userid == null){
alert("아이디를 입력하세요");
}
if(userpwd =="" || userpwd == null){
alert("비밀번호를 입력하세요");
}
var flag = true;
$.ajax({
uri : url,
date : {
userid : userid
},
type : "POST",
async: false,
dataType : "text",
success : function(result){
//로그인 가능 횟수 안에 로그인 시도 시 특정문자 리턴받음 , 로그인 횟수 초과 시 db에 저장된 로그인 실패시간 받아오기.
if(result !== 특정문자){
const coutDownTimer = function(date){
var vDate = new Data(data) // DB에서 받아온 데이터값
vDate = vDate.setMinutes(vDate.getMinutes()+몇분추가); // 로그인 제한 시간 = 로그인 실패시간 + 사용자 정의 몇분 추가
var _second = 1000;
var _minute = second * 60;
var _hour = minute * 60;
var _day = _hour * 24;
var timer;
var disDt;
var target - document.getElementById('로그인버튼 아이디');
function showReamining(){
var now = new Date();
distDt = vDate - now;
console.log(distDt);
if(distDt < 0 ){
//DB 로그인 시도 카운트 초기화
$.ajax({
url : url,
data : { userid : userid},
type : "POST",
success : function(e){
console.log("초기화 성공");
return;
},
error : function(request, status, error){
alert("error code : " + request.status + " / " + request.responseText + " / "+ request.error);
}
});
location.reload();
}
var days = Math.floor(distDt / _day);
var hours = Math.floor((distDt % _day) / _hour);
var minutes = Math.floor((distDt % _hour) / _minute);
var seconds = Math.floor((distDt % _minute) / _second);
target.disabled = true; // 로그인 버튼 활성화
document.getElementById("로그인버튼아이디").textContent = minutes + '분' + seconds + '초 남음';
}
timer = setInterval(showRemaining, 1000);
flag = false;
}
alert("로그인 몇회 실패로 몇 분간 로그인이 중지됩니다.");
countDownTimer(result.replace(" ","T"));
return;
}
},
error : function(request, status, error){
alert("error code : " + request.status + " / " + request.responseText + " / "+ request.error);
}
});
return flag;
}
</script>
'언어 > 자바스크립트' 카테고리의 다른 글
[IE] NaN 오류 (0) | 2023.05.18 |
---|---|
[JavaScript] 브라우저 동작 방식 (0) | 2023.05.10 |