[CS] Localstorage vs Cookie

Jay ·2023년 5월 24일
0

특징

  • XSS 공격으로부터 상대적으로 안전
  • 만료 기간 존재
  • 영구 쿠키와 세션 쿠기 두 종류 존재.

한계

  • CSRF 공격에 상대적으로 취약.(SameSite, Refere 검증으로 방어가능)
  • 작은 저장용량 (5kb)

보완책

  • HttpOnly Cookie 옵션으로 XSS 방어(부분적)

LocalStorage

특징

  • CSRF 공격에 안전함
  • 만료 기간 없음
  • 상대적으로 큰 저장용량(최대 5MB)
  • 불필요한 서버 트래픽 감소가능(모든 HTTP 요청에 주고받을 필요 없음)

한계

  • XSS 공격에 취약하다.
  • 문자열만 저장가능(JSON 직렬화 과정 필요)
  • 특정 브라우저 미지원, 로컬스토리지 설정 off시 에러 발생가능

보완책

  • 엄격한 Sanitze로 JS 코드 삽입 비허용.
    (sanitize-html, DOMPurify)

결론

Cookie든 Local storage든 어느 곳에 데이터를 저장하나
보안상 취약점이 완벽히 해결되지는 않는다.
하지만 프로젝트의 규모가 커질수록 XSS 방어보다 CSRF를 방어하는 것이 좀 더 용이하기 때문에 현재 Cookie 좀 더 사용되는 추세로 보인다.

profile
Jay입니다.

0개의 댓글