Web技術の基礎

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になります。

  • A. Secure は、HTTPSの通信のときだけCookieを送らせる属性で、保存する値を暗号化するものではありません。
  • B. 正しい。HttpOnly のCookieはスクリプトから読めないので、XSSによる盗難の被害を減らせます。
  • C. SameSite は、ほかのサイトから始まったリクエストに付けるかを決める属性で、同じサイトの中のリクエストには付けられます。
この分野を解く 分野ページへ

Web技術の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

Web技術の基礎のほかの問題

  1. ブラウザのlocalStorageとCookieの違いとして、正しいものはどれか。
  2. ロードバランサの後ろに3台のアプリケーションサーバを置き、リクエストを順番に各サーバへ振り分けている(ラウンドロビン)。ログインした利用者のセッションの情報は、ログインを処理したサーバのメモリだけに保存している。起こりやすい問題と対策の組み合わせとして、適切なものはどれか。
  3. 署名を付けた一般的なJWT(JSON Web Token)の説明として、正しいものはどれか。
  4. 写真の印刷サービスのアプリが、利用者の許可を得て、別の会社の写真の保存サービスにある利用者の写真を読み出す。OAuth 2.0で、利用者に許可を求める画面を示し、利用者が許可するとアプリにアクセストークンを発行する役割はどれか。
  5. OAuth 2.0とOpenID Connectの関係の説明として、正しいものはどれか。