HTTP通信において、ステートレスなプロトコル上で状態管理を実現するためにクライアント側に保存されるCookieに関する記述として、適切なものはどれか。
- Cookieの有効期限を指定するExpires属性を省略すると、ブラウザ再起動後も永続的に保持される。
- SameSite属性にStrictを設定すると、同一サイトからのアクセスでのみCookieが送信される。
- Set-Cookieヘッダはクライアントからサーバへのリクエスト送信時に設定される。
- HTTP-Only属性を指定すると、通信経路がHTTPSに限定され平文での送信が遮断される。
- Secure属性を指定すると、JavaScriptなどのクライアント側スクリプトからの読み取りが制限される。
正解と解説を見る
正解: SameSite属性にStrictを設定すると、同一サイトからのアクセスでのみCookieが送信される。
正解は「SameSite属性にStrictを設定すると、同一サイトからのアクセスでのみCookieが送信される。」です。SameSite=Strictを設定すると、クロスサイトのリクエスト時にはCookieが送信されずCSRF対策に有効です。「HTTP-Only属性を指定すると、通信経路がHTTPSに限定され平文での送信が遮断される。」は誤りで、HTTPSに限定するのはSecure属性です。「Secure属性を指定すると、JavaScriptなどのクライアント側スクリプトからの読み取りが制限される。」は誤りで、スクリプトからのアクセスを制限するのはHttpOnly属性です。「Set-Cookieヘッダはクライアントからサーバへのリクエスト送信時に設定される。」は誤りで、Set-Cookieはサーバからクライアントへのレスポンスヘッダです。「Cookieの有効期限を指定するExpires属性を省略すると、ブラウザ再起動後も永続的に保持される。」は誤りで、省略時はセッションCookieとなりブラウザ終了時に削除されます。