웹 기술 기초

Set-Cookie: sid=8f3a2c9d; Path=/; Secure; HttpOnly; SameSite=Lax

위의 헤더로 설정된 Cookie에 대한 설명으로 올바른 것은?

  1. ASecure 속성이 있으므로 Cookie 값은 브라우저 안에서 암호화되어 저장되며, 다른 앱에서는 읽을 수 없다
  2. BHttpOnly 속성이 있으므로 페이지의 JavaScript에서는 이 Cookie를 읽을 수 없다
  3. 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가 됩니다.

이 분야 연습하기 분야로 돌아가기

웹 기술 기초의 다른 문제

  1. 브라우저의 localStorage와 Cookie의 차이로 올바른 것은?
  2. 로드 밸런서 뒤에 애플리케이션 서버 3대를 두고, 요청을 차례로 각 서버에 분배하고 있다(라운드 로빈). 로그인한 이용자의 세션 정보는 로그인을 처리한 서버의 메모리에만 저장하고 있다. 일어나기 쉬운 문제와 대책의 조합으로 적절한 것은?
  3. 서명을 붙인 일반적인 JWT(JSON Web Token)에 대한 설명으로 올바른 것은?
  4. 사진 인화 서비스 앱이 이용자의 허락을 받아, 다른 회사의 사진 보관 서비스에 있는 이용자의 사진을 읽어 온다. OAuth 2.0에서 이용자에게 허락을 구하는 화면을 보여 주고, 이용자가 허락하면 앱에 액세스 토큰을 발급하는 역할은?
  5. OAuth 2.0과 OpenID Connect의 관계에 대한 설명으로 올바른 것은?