완료됨
Do we need a multiple HTTP communications for generating session id?

Session id를 client가 이용하기 위해서는 최소 2 차례의 HTTP통신이 필요한 가요? 최초 로그인 시, 유저 데이터가 DB에 저장되는데 반해 서버에 저장되는 session은 다음 통신에서 id가 생성되는 것으로 나와 있네요.

#웹해킹
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
Kerz
워게임 풀이: 20

서버사이드에서 세션 함수를 실행한 후로 가정하면, 하기와 같이 작동됩니다.

Client           Server
| --- connect ----> | 
|                   | -> Creat session file
|                   | -> Cookie: session = SESS_00000000000000
| <--- Cookie ----  |
| -- credential --> |
|                   | -> authentication();
|                   | -> if yes, SESS_00000000000000 { userid='abc', role='user', and so on }
|                   |
  1. 클라이언트가 서버에서 접속
  2. 서버는 세션 파일을 생성
  3. 서버는 쿠키의 세션 변수에 세션파일과 매칭되는 정보를 저장
  4. 클라이언트는 해당 쿠키를 사용
  5. 클라이언트가 로그인을 시도
  6. 서버상에서 정상적인 로그인이라면, 세션 파일내 인증정보를 업데이트

도움이 되셨길 바랍니다.

자세한 내용을 알고 싶다면 https://tools.ietf.org/html/rfc6265 를 보시면 됩니다.

2020.08.13. 17:14