問41 cookie の Secure 属性

応用情報​技術者試験 令和7年度 春期 午前、全80問のうちの問41。

出典:令和7年度 春期 応用情報技術者試験 午前 問41

cookie に Secure 属性を設定しなかったときと比較した,設定したときの Web ブラウザの動作として,適切なものはどれか。

  1. アcookie に設定された有効期間を過ぎると,Web ブラウザが cookie を無効であると判断する。
  2. イURL 内のスキームが https のときだけ,Web ブラウザから cookie が送出される。
  3. ウWeb ブラウザがアクセスする URL 内のパスと cookie に設定されたパスのプレフィックスが一致するときだけ,Web ブラウザから cookie が送出される。
  4. エWeb ブラウザでは JavaScript による cookie の読出しが禁止される。
答えと解説を開く

正解はイです。

cookie には、ログインの状態を表すセッション ID のような大事な値が入ります。暗号化しない HTTP の通信でこれを送ると、途中で盗み見られるおそれがあります。Secure 属性を付けると、ブラウザは URL のスキームが https のとき、つまり TLS で暗号化された通信のときだけ、その cookie を送ります。http の URL には送りません。正解はイです。

ほかの選択肢が違う理由

  • ア有効期間を過ぎた cookie を無効にするのは、Expires 属性や Max-⁠Age 属性で決まる動きです。Secure 属性とは関係ありません。
  • ウURL のパスが一致するときだけ送るのは、Path 属性で決まる動きです。
  • エJavaScript から cookie を読めなくするのは、HttpOnly 属性の働きです。XSS で cookie を盗まれるのを防ぎます。

仕組み

cookie の属性は役割ごとに覚えます。Secure は HTTPS のときだけ送る、HttpOnly は JavaScript から読ませない、Path と Domain は送る先を絞る、Expires と Max-⁠Age は有効期間を決める、という分担です。

セッション ID を入れる cookie には、Secure と HttpOnly の両方を付けるのが定石です。盗み見と、スクリプトからの読出しの両方を防げます。

この問に出る言葉