현업에서 업무를 진행하다가 고객사의 보안 조치 사항 요청이 왔다.
내용은 공격자가 쉽게 추측하기 쉬운 단어(Admin, Master, Manager) 등 사용에 대한 조치이다.
즉, 로그인을 할 때 id에 해당 단어들이 포함되면 안된다는 것이다.
const userStr = $('#cstmr_no').val();
if(userStr.includes('Administrator') ||
userStr.includes('Admin') ||
userStr.includes('Master') ||
userStr.includes('Manager'))
const alert_param = {
'tit1' : 'messages.information',
'msg1' : 'signup.canNotUseMaster',
'btn1' : 'messages.ok',
'callback1' : function(){
$('#cstmr_no').focus();
}
}
alertTitlePopup(alert_param);
return;
}
includes('문자열') -> 함수를 사용하면 지정한 문자열이 포함 되어있을 경우 true를 반환한다.
각 특정 문자열들이 들어오면 메시지 알림으로 경고를 띄울 수 있다.