회원가입 구현하기 - 이메일, 이름, 비밀번호 확인(Hash)

Jong-uk·2023년 4월 13일
0

엘리스 온라인 학습

목록 보기
24/39
post-custom-banner

구성

  • 이메일, 이름, 패스워드의 간단한 정보만 사용
    • 이메일의 형식이 올바른지 확인
    • 비밀번호 최소 길이 확인
    • 패스워드와 패스워드 확인 문자가 일치하는지 확인

회원정보 저장

  • 데이터 베이스에 그대로 저장하면 관리자가 회원 비밀번호의 정보를 다 조회할 수 있음 -> 보안 취약점 발견!!!

Hash

  • 문자열을 되돌릴 수 없는 방식으로 암호화 하는 방법
  • hash 출력값을 이용해 사용자의 비밀번호를 알아낼 수 없음
  • 비밀번호의 Hash 값을 데이터베이스에 저장하고, 로그인 시 전달된 비밀번호를 Hash하여 저장된 값과 비교해 로그인을 처리

사용 방법

  • SHA1
const Hash = crypto.createHash('sha1');
hash.update(password);
hash.digest("hex");

구현하기

  1. 회원가입 페이지 구현
  2. script를 이용해 이메일 형식, 비밀번호 확인 / 문자 확인
  • 이메일 : 정규표현식을 이용
  • 비밀번호 길이 : password.length < 8
  • 비밀번호 확인 : password != passwordConfirm
  1. form을 이용해 post 요청 전송
  2. 회원가입 처리 및 redirect
  • 이메일, 이름, 비번 값 받아옴
  • pwHash 사용
  • User에서 이메일 찾아서 만약 이메일이 있다면 이메일이 있다고 출력
  • 이메일이 없다면 이메일, 이름, password : pwHash 저장!!
profile
안녕하세요! 만나서 반갑습니다.
post-custom-banner

0개의 댓글