[Django/토큰 및 세션]

SooYeon Yeon·2022년 6월 26일
0

Django

목록 보기
7/20

로그인 유지

클라이언트의 하드 or 메모리 / 서버 컴퓨터의 하드 or 메모리 중 선택 가능

하드 - 용량 크지만 느림, 빠른 처리는 보통 메모리에 저장

클라이언트 - jwt 이용해 암호화 된 값으로 저장, 토큰 방식 로그인 (클라이언트의 메모리)

서버 컴퓨터 메모리 - 세션 방식

로그인 유지 방법

  1. 토큰 : 클라이언트 컴퓨터에 저장, 메모리낭비x, 암호화하다보니 그 값을 확인해야함(풀기위한 연산이 실행되어 서버에서 메모리를 쓰게 됨)
  2. 세션 : 서버 컴퓨터에 저장 (전통적 방식)

보통 프론트/백엔드 나눠져있을 때 토큰방식 사용

장고에서 제공해주는 현재 쓴 함수의 로그인 방식은 세션 로그인 방식을 사용하고 있음

aws application hosting

  1. 세션 클러스터링 (세션 다 나눠서 저장) - 메모리 낭비됨
  2. 세션만 저장하는 컴퓨터를 두고 거기를 들려서 저장

클 → 서 요청했을 때 특정 사용자가 로그인 했다는 사실을 알아야하는데,

클라이언트 (웹에서 ) i 누르면 사용중인 쿠키 볼 수 있는데, 거기서 sessionid를 통해 특정 사람의 정보를 가져올 수 있는 것임

A 클라이언트가 서버에 로그인 시 (세션 로그인)
1. A client가 로그인

  1. Server가 랜덤값(sessionId) 생성해 A info 저장
  2. sessionId 값을 A Client에게 줌
  3. A Clinet가 sessionId 값을 자신의 Cookie에 저장

그래서 만약, A가 B의 쿠키 정보(sessionId)를 알아내서 그걸로 접속하면, 접속되어 보안의 위험 있음

0개의 댓글