특정 단어 거르기

정병웅·2023년 3월 23일
0

front-end

목록 보기
1/2

현업에서 업무를 진행하다가 고객사의 보안 조치 사항 요청이 왔다.
내용은 공격자가 쉽게 추측하기 쉬운 단어(Admin, Master, Manager) 등 사용에 대한 조치이다.
즉, 로그인을 할 때 id에 해당 단어들이 포함되면 안된다는 것이다.

방법

  1. 회원가입을 진행 할 때, 특정 단어들이 들어가는 아이디는 생성하지 못하도록 제한한다.
  2. 로그인을 할 때 특정 단어들이 들어가면 로그인을 거부 당한다.
    -> 결론은 애초에 회원 가입을 할 때 특정 단어를 거르는게 맞다고 판단했다.

구현 방법

  1. front 단에서 id 입력 칸에 입력한다.
  2. id 중복 체크 버튼을 누른다.
  3. 중복체크와 함께 특정 단어 체크도 진행한다.

구현 코드

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를 반환한다.
각 특정 문자열들이 들어오면 메시지 알림으로 경고를 띄울 수 있다.

profile
인생은 IT 노가다

0개의 댓글