웹 기술 기초
Set-Cookie: sid=8f3a2c9d; Path=/; Secure; HttpOnly; SameSite=Lax위의 헤더로 설정된 Cookie에 대한 설명으로 올바른 것은?
- ASecure 속성이 있으므로 Cookie 값은 브라우저 안에서 암호화되어 저장되며, 다른 앱에서는 읽을 수 없다
- BHttpOnly 속성이 있으므로 페이지의 JavaScript에서는 이 Cookie를 읽을 수 없다
- CSameSite=Lax이므로 같은 사이트 안의 페이지에서 보내는 요청에도 이 Cookie는 붙지 않는다
정답과 해설 보기
정답: B. HttpOnly 속성이 있으므로 페이지의 JavaScript에서는 이 Cookie를 읽을 수 없다
Secure 속성을 붙인 Cookie는 HTTPS 통신일 때만 보내집니다. HttpOnly 속성을 붙이면 페이지의 JavaScript에서 document.cookie 등으로 읽을 수 없게 되므로, XSS로 세션 ID를 도둑맞는 피해를 줄일 수 있습니다. SameSite 속성은 다른 사이트에서 시작된 요청에 Cookie를 붙일지를 정하는 것으로, Lax에서는 다른 사이트의 링크를 따라 페이지를 이동할 때의 GET에는 붙이지만, 다른 사이트에서 보내는 폼의 POST나 이미지 로드에는 붙이지 않습니다. Expires나 Max-Age로 유효 기간을 정하지 않은 Cookie는 일반적으로 브라우저를 닫으면 사라지는 세션 Cookie가 됩니다.