#author("2022-09-17T13:09:36+09:00","default:k1rou","k1rou") *Cookie とは [#saf8093b] #author("2024-06-21T18:16:22+09:00","default:k1rou","k1rou") *Cookie [#saf8093b] **名称 [#j24e8e2d] -クッキー **概要 [#b6e4d59e] -WebサーバがアクセスしてきたクライアントのWebブラウザにデータを保存する仕組み *Cookie の用途 [#n294cc89] --[[セッション]]管理 --アクセスしてきたクライアント(ユーザ)の識別 *Cookieの仕様 [#w59e6e33] -「名前=値」の形式でデータを保存する -サイズ 最大4,096B -1つのWebブラウザに保存できる数:最大300(ドメイン毎) -1台のWebサーバが1つのWebブラウザに発行できる数:最大20 **属性 [#d68c6057] ***domain [#l9f758b6] -Cookieの送信先サーバの[[ドメイン]]。 -Cookie登録時にアクセスしたサーバ以外のドメイン(サブドメインが異なる同一ドメイン等)にもCookieを送信する場合に指定する。 --異なるサブドメインやホスト名のサーバ間でセッション情報などの共有が可能になる -「.」から始まる形式で指定する ***expires [#wad03b69] -Cookieの有効期限。 -日時で指定する -指定がない場合は、ブラウザの終了時に消去される -指定がある場合は、ブラウザを終了しても消去されない ***path [#d027c5b9] -Cookieを有効とするサーバー上のディレクトリを指定。 -指定がない場合は、「/」を指定したものとして扱う。(Cookieを発行したページ配下のディレクトリを有効とする) ***secure [#x321677a] -secure属性をつけると、[[HTTPS]]での通信のみCookieの値をサーバーに送信するようになる。 -指定することで、盗聴によりCookieが盗まれるのを防ぐことができる。 ***HttpOnly [#fc8e50f4] -HttpOnly属性をつけると、JavaScriptからCookieの値にアクセスできない。 -[[XSS]]によるCookieとして登録した[[セッションID]]を盗もうとする攻撃の対策に使う。 -"document.cookie"を用いたCookieへのアクセスを禁止する -指定することで、[[XSS]]によりCookieが盗まれるのを防ぐことができる。 -旧バージョンのブラウザで対応していないものがある(IE6 SP1より前) ***SameSite [#w4c396cf] -None -Lax -Strict *クライアント側にCookieを登録する方法 [#cf0a16c9] **HTTPヘッダを使う [#p9200979] -Set-Cookie --Webサーバがクライアントに応答する際にSet-Cookieヘッダを付加する。 **JavaScriptを使う [#r6bf53c9] -document.cookieプロパティを使う。 *クライアント側に登録したCookie情報の扱い [#n23f3b09] -Webブラウザから同じドメインのウェブページにアクセスする際に、登録されているCookie情報がHTTPヘッドに付加して送信される。 -送信先のサーバは、Cookie登録時のサーバのみ。(デフォルト) **Cookieの有効期限 [#mabc38ca] -登録するCookieに有効期限を設定することができる -有効期限が設定されていないCookieは、ブラウザを終了すると無効になる。 *Cookieの種類 [#ec48e743] -Persistent Cookie -Session Cookie *セキュリティ [#vd708205] **クッキーモンスターバグ [#q766e38e] -Cookie Monster Bug -クッキーのdomain属性が正しく機能しないで、指定した範囲を超えて有効になる[[Webブラウザ]]のバグ。 --サブドメインを持つURLのサイトから、[[ドメイン]]のみ(サブドメインを持たない)のURLのサイトに対して、有効なCookieを発行できる問題。 -脆弱性の対象となる攻撃 --[[セッションフィクセーション]]攻撃 --[[CSRF]] -一部の古いブラウザが持っている問題。 --IE7, IE8.1には、地域型JPドメインと都道府県型JPドメインがこのバグを持っている。 *ファーストパーティCookieとサードパーティCookie [#dc050c54] -ファーストパーティCookie --HTMLと同じドメインのサーバーから送信されるCookie -サードパーティCookie --HTMLと異なるドメインのサーバーから送信されるCookie *関連サイト [#q66e44eb] -Cookielessで再構築が必須となるデジタルマーケティング - NRI~ *関連用語 [#d98981d8] -[[hidden]] -[[HTTP]] -[[ITP]] -Intelligent Tracking Prevention -[[セッション]] -[[Webストレージ]] -[[クッキー法]] -[[eプライバシー規則]] -[[電気通信事業法]]