3주차
인증 - 그 사람 본인이 맞는지 확인하는 작업
로그인 작업과 동일하다
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방향 함수]
3) 식별/인증 동시 [with hash]
4) 식별/인증 분리 [with hash]
1) 쿠키로 로그인 유지 - 클라이언트 측에 저장되기때문에 보안에 취약하다.
로그인을 할때 쿠키가 쌓였다.
그 쿠키때문에 로그인 이후 다른 활동을 할때 인증 절차를 패스하여 그 쿠기값을 유지하며 사이트를 이용가능하다.
그래서 로그인 이후 쿠키에 적힌 아이디를 다른 아이디로 적을 시에, 다른 아이디로 로그인되는 현상이 발생한다.
이걸 쿠키 로그인이라고 한다.
하지만 2000년대 초에 가능하던 방법이였고, 현재는 보안이 강화되어 적용시키기 힘들다.
2) 세션 - 서버에 파일로 저장된다.
쿠키에 세션값이 들어간다.
그럼 ? 쿠키처럼 해킹당할 위험이 있지않냐?
아니다. 세션은 랜덤하게 생성되어서 괜찮다.