- 웹 브라우저에서 로그인 요청이 오면, 서버에서 세션 저장소를 관리후 추정 불가능한 랜덤값을 만들어준다. (랜덤함수 사용 or UUID 사용)
- 생성된 세션 ID와 세션에 보관할 값 ("member A")을 서버와 세션 저장소에 보관한다.
- 랜덤으로 생성된 세션 id를 쿠키에 전달한다.
✔✔ 중요 : 회원과 관련된 정보는 전혀 클라이언트에 전달하지 않는다는것이다.- 오직 추정 불가능한 랜덤값인 세션 ID만 쿠키를 통해 클라이언트에 전달한다.
: 세션을 사용해서 서버에서 중요한 정보를 관리하게 되어있다. 그럼으로 다음과 같은 보안문제를 해결 할수있다.
- 쿠키 값을 변조 가능 --> 예상 불가능한 복잡한 세션 ID를 사용한다
- 쿠키에 보관하는 정보는 클라이언트 해킹시 털릴 가능성이 있다 --> 세션 id가 털려도 여기에는 중요한 정보가 없다.
- 쿠키 탈취후 사용 --> 쿠키 토큰을 털어가도 서버에서 세션의 만료시간을 짧게 유지한다. or 서버에서 해당 세션을 강제로 제거하면된다.