- JWT 를 활용한 인가를 위해 Authorization Headerdp 토큰을 넣어 API 요청을 하는데, JWT Token을 어디다 저장해야 유리할지에 대해 비교
Local Storage | Session Storage | Cookie | |
개요 | 지속적으로 필요한 데이터 (Ex> 아이디 저장 자동로그인 등) |
일시적인 데이터 저장 (ex> 입력 폼, 일회성 로그인 등) |
로그인 자동완성 등 유효시간을 설정해 데이터를 저장 가능 - 매우 작은 데이터 용량 (4KB) - 매 요청마다 같이 전달 - 문자열만 저장 가능 |
장점 | 데이터 영구 저장 가능 | 브라우저 탭이 닫히면 초기화 | httpOnly, Secure등 옵션을 적용해 JS 접근 방지와 HTTPS 요청만을 허용하게 할 수 있음. |
단점 | JS 접근이 가능 (XSS 위협) | JS 접근이 가능 (XSS 위협) | CSRF |
✨ XSS (Cross-Site Scripting) 란 ?
악의적 사용자의 스크립트 주입 공격 방식으로 Javascript를 통해 로컬, 세션 스토리지의 값을 읽어 정보를 탈취 또는 웹 애플리케이션이 사용자로부터 의도치 않은 입력값을 전달받아 발생함.
✨ CSRF (Cross-Site Request Forgery) 란 ?
"사이트간 요청 위조"로 사용자가 자신의 의지와 무관하게 공격자가 의도한 요청을 보내도록 하는 공격 유형으로 게시판에 악성 스크립트 게시글을 작성해 다른 사용자들이 클릭하면 해당 사용자의 쿠키를 이용해 인증이 이루어지고 -> 악성 공격이 발생 하는 등의 유형을 일컫음.
✨ 결론
토큰은 쿠키에 저장하고 쓰고, 애플리케이션 레벨에서 관리 잘하자.
'Web Development > CommonSense' 카테고리의 다른 글
[AL&DS] 팩토리얼 (0) | 2022.11.12 |
---|---|
[AL&DS] 피보나치 (0) | 2022.11.12 |
[AL&DS] 큐 (0) | 2022.11.12 |
[AL&DS] 스택 (0) | 2022.11.12 |
[AL&DS] 삽입정렬 (0) | 2022.11.12 |