[리눅스강의]24.5.2 3주차 교육

오대진·2024년 5월 2일

3주차

  1. 식별과 인증의 차이점
    식별 - ID는 같은 값이면 안된다[동명이인이 안된다와 같은 뜻]
    수 많은 데이터 중 알맞는 데이터를 찾는 과정

인증 - 그 사람 본인이 맞는지 확인하는 작업
로그인 작업과 동일하다


  1. 로그인 로직 케이스

1) 식별/인증을 동시
DB 질의를 한번에 수행해서 로그인 구현
입력한 아이디, 비밀번호를 한번에 데이터에서 조회해서 > 맞으면 성공

// 수도 코드. 가짜 대략적인 코드만.
sql = 'select * from member where id=' ' and pass=' ';ret = $sql.execute();

if($ret){
// 로그인 성공
} else {
// 로그인 실패
}

2) 식별/인증 분리
입력한 아이디를 데이터에서 가져와서 > 그 안에 있는 비밀번호를 가져온다 > 결과적으로 입력값이 맞으면 성공

$sql = 'select * from member where id=' '

$db_pass = sq.ret('pass')

if($db_pass == $user_pass){
// 로그인 성공
} else {
// 로그인 실패
}

(+) HASH [1방향 함수]

  • 암호화와 인코딩이란 A라는 글자를 형태를 모르게 바꿔버리는것
    해쉬도 동일하게 모양을 바꾸는거지만, 바꾸기 전 글자로 돌릴 수 없다.
    하지만 위에 2개는 원래 글자로 되돌릴 수 있다.
    인코딩을 쓰는 이유는 데이터를 넘길때 효율적으로 넘기기 위해서이다.

3) 식별/인증 동시 [with hash]
4) 식별/인증 분리 [with hash]


  1. 로그인 유지

1) 쿠키로 로그인 유지 - 클라이언트 측에 저장되기때문에 보안에 취약하다.
로그인을 할때 쿠키가 쌓였다.
그 쿠키때문에 로그인 이후 다른 활동을 할때 인증 절차를 패스하여 그 쿠기값을 유지하며 사이트를 이용가능하다.

그래서 로그인 이후 쿠키에 적힌 아이디를 다른 아이디로 적을 시에, 다른 아이디로 로그인되는 현상이 발생한다.
이걸 쿠키 로그인이라고 한다.

하지만 2000년대 초에 가능하던 방법이였고, 현재는 보안이 강화되어 적용시키기 힘들다.

2) 세션 - 서버에 파일로 저장된다.
쿠키에 세션값이 들어간다.
그럼 ? 쿠키처럼 해킹당할 위험이 있지않냐?
아니다. 세션은 랜덤하게 생성되어서 괜찮다.


  1. 과제
    1] 오늘 수업 복습
    2] 지난 과제
    3] 로그인 페이지 [로직4개]
    4] 추가미션
  • jwt가 무엇인지 알아보기
  • jwt 로그인 페이지 만들어보기.

0개의 댓글