正答2
解説
正解は2です。
cookieには、送出の条件や扱いを制御するための属性を付けられます。
Secure属性は、暗号化された通信(HTTPS)のときだけcookieを送出させる属性です。
平文のHTTP通信でcookieが盗聴されるのを防ぐ目的で使います。
【選択肢別解説】
1:× 有効期間を過ぎたcookieを無効にする動作は、Expires属性やMax-Age属性で有効期間を指定したときのものです。
Secure属性の有無とは関係ありません。
2:○ Secure属性を付けたcookieは、URLのスキームがhttpsのときだけWebブラウザから送出されます。
httpでアクセスした場合は送出されないので、通信路上での盗聴を防げます。
3:× アクセス先のURLのパスがcookieのパスと前方一致するときだけ送出する動作は、Path属性によるものです。
Secure属性の働きではありません。
4:× JavaScriptからのcookieの読出しを禁止するのは、HttpOnly属性です。
クロスサイトスクリプティングによるcookieの盗難を防ぐための属性です。
【ポイント】
Secureは暗号化通信だけで送る、HttpOnlyはJavaScriptから読めなくする、SameSiteは他サイトからのリクエストで送らない、と区別しましょう。
セッションIDを格納するcookieには、これらを組み合わせて設定するのが基本です。