개발자
서버에서 로그인을 하고 받은 호출하고 받은 데이터에서 자동으로 쿠키가 저장은 되는데 개발자 도구 -> 애플리케이션 -> 쿠키에는 저장이 되는것을 확인했는데 document.cookie로 쿠키를 받아올라하는데 쿠키가 빈값으로 나오는데 어떻게 해야하나요??
답변 1
해당 쿠키가 secure 쿠키인지 확인해보세요. 로그인 로직이 사용된 쿠키면 거의 secure cookie가 맞을겁니다. 환경이 로컬이 아니라면 secure cookie는 https에서만 세팅이 가능합니다. 이점도 유의하세요. 그리고 개발언어가 무엇인가요? java(jsp)인지 react인지 아니면 다른건지도 말씀을 해주셔야 할거 같습니다.
김성환
작성자
취준생 • 2024년 03월 20일
답변 감사합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 03월 19일
JavaScript에서 `document.cookie`를 사용할 때 브라우저는 쿠키가 'Secure' 또는 'HttpOnly' 플래그를 가지고 있는 경우 해당 쿠키에 접근을 제한합니다. 이 두 가지 플래그는 보안 목적으로 사용되며, XSS 공격 및 중간자 공격을 방지하는데 도움이 됩니다. 'Secure' 플래그가 설정된 쿠키는 HTTPS 연결에서만 전송됩니다. 'HttpOnly' 플래그가 설정되면 JavaScript에 의해 접근할 수 없습니다. 서버에서만 해당 쿠키를 읽을 수 있어 클라이언트 사이드 스크립트에 의한 공격을 막습니다. 따라서 문제는 아마도 서버에서 설정된 쿠키가 이러한 플래그를 가지고 있어서 `document.cookie`로 접근할 수 없는 것일 가능성이 큽니다. 해결책은 단순하게는 해당 플래그들을 제거하면 되지만, 이런 경우 보안상의 위험이 발생할 수 있어 추천하지 않습니다. 대신, 서버에서 API 응답으로 필요한 데이터를 직접 반환하도록 작업하는 것이 좋습니다. 그렇게 해서 JavaScript에서는 쿠키에 직접 접근하여 데이터를 가져오지 않고, 서버에서 반환된 응답을 사용하도록 변경하는 것이 좋을 것 같습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!