Cookie

クッキー

目次一覧

 状態:-  閲覧数:2,731  投稿日:2014-07-17  更新日:2019-09-04  
Cookie / Cookieとは? / Cookie仕様

発行別クッキーの種類は2種類 / 期限別クッキーの種類は2種類 / クッキーをいつ破棄するの?

Cookieの構造 / パソコンに保存されているCookieを確認

$_COOKIE / 確認具体例 / Link

アクセス解析におけるクッキーの役割


Cookie / Cookieとは? / Cookie仕様

 閲覧数:675 投稿日:2014-07-19 更新日:2019-09-03 

Cookie


片仮名表記
クッキー

Cookieとは?


Webブラウザにてサイトを閲覧した際に作成される、データを一時的に保管しておく仕組み
・元々ユーザエージェント(Webブラウザ)によって保存される「小さな」ファイルのことを意味する
・WebサイトとWebブラウザの間でやりとりする小さなデータ

データ
・クライアント(ユーザ/ブラウザ)側で保持
※Cookieはブラウザごとに保存される

主な利用用途
・状態管理
・サイト毎に固有の情報を、サイト訪問者のパソコンにテキストデータとして保存している
・具体的には、訪問者がページを閲覧した回数や、オンラインショップで購入した履歴など
・クッキーは、専用のHTTPヘッダ、あるいはJavaScriptにより利用することが可能

クッキーが必要な理由
・Web サービスのプロトコルである http には、 訪問者を特定する仕組みが存在しない
・そのため、訪問者特定のために cookie を使用することが多い

Cookie仕様


1.4096バイト
・記録できるのは4096バイトまで
・(クライアントPCの)Cookieが、データを記録できるのは4096バイトまで

2.300個
・クッキー総数
・最大300まで保存することが可能

3.20個
・Cookieの数は、20個に制限
・1台のサーバが同じコンピュータに対して発行できるCookieの数は、20個に制限されている
・20個を越えると、古いものから消去される

4.有効期限
・Cookieにはそれぞれ有効期限を設定することができる
・有効期限を過ぎたCookieは消滅する

5.記述箇所
・<html>タグの前に関数を記述
・cookie は HTTP ヘッダを利用しているので、<html>タグ(ブラウザへの出力)の前に関数を書いておかなければいけない

6.ユーザー環境
・ユーザー環境によっては利用できない
・ブラウザやファイアウォールの設定で cookie を無効にできる

7.cookieデータ取扱
・cookie 内容はユーザーのパソコンに保存
・パスワード等を cookie に保存してしまうと、 パソコンを他人と共用している場合などに、パスワードが洩れる可能性がある

発行別クッキーの種類は2種類 / 期限別クッキーの種類は2種類 / クッキーをいつ破棄するの?

 閲覧数:488 投稿日:2014-07-19 更新日:2019-09-03 

発行別クッキーの種類は2種類


ファーストパーテイーCookie
・アクセスしているページのドメインから発行されているもの
・サイトドメイン毎にしかCookieを付与できないため、サイト(ドメイン)を横断してのCookie付与は不可

サードパーティーCookie
・アクセスしているページのドメインから発行されていないもの
・訪問しているサイト以外のドメインから発行されているCookieのこと

期限別クッキーの種類は2種類


セッションクッキー
・ブラウザを閉じると破棄される

パーシステントクッキー
・ブラウザを閉じても決まった期間保持される

クッキーをいつ破棄するの?


クッキー破棄するタイミングはサーバー側で指定
・通常のブラウザは従うが、技術的には無視することも可能

クッキー破棄するタイミングを、サーバー側で変更することも可能
・まだ寿命の残っているクッキーを破棄するよう指示することもできる

・これらとは別に、ブラウザ側は任意のタイミングでクッキーを自分で消せる
・また、クッキーを捏造してサーバーに送信する事も技術的には可能

・サーバー側に格納したあらゆる記録はサーバー側の自由
・永遠に保持することもできるし、任意のタイミングで消すこともできる

Cookieの構造 / パソコンに保存されているCookieを確認

 閲覧数:639 投稿日:2014-07-20 更新日:2019-09-03 

Cookieの構造


・Set-Cookie: name=value; expires=Sat, 20 Nov 2010 03:10:21 GMT; domain=www.example.jp; path=/member/; secure; HttpOnly
※name=value(Cookieに含めるデータ。複数指定可)
※expires=(有効期限。max-ageの場合もある)
※domain=(Cookie返送先ドメイン)
※path=(Cookie返送先のWebサイト内のパスのプレフィックス)
※secure(secure属性)
※HttpOnly(HttpOnly属性)

クライアント(自分のパソコン)へ保存されているCookieを確認してみる


Cookieはブラウザごとに保存される
Google Chrome を使用している場合

方法A
1.Google Chrome に保存されているCookie一覧を表示
・下記URL入力
chrome://settings/content/cookies

2.すべての Cookie とサイトデータ をクリックする

3.右上にドメインを入力して検索


方法B
1.下記URL入力
chrome://settings/siteData

2.右上にドメインを入力して検索


クリックすると、下記のような内容が表示される
PHPSESSID

名前
PHPSESSID

コンテンツ
xxxx

ドメイン
xxxx


$_COOKIE / 確認具体例 / Link

 閲覧数:460 投稿日:2017-02-23 更新日:2019-09-04 

$_COOKIE



Cookie
サーバへアクセスするたびに、クライアント(ブラウザ)から自動送信される

クライアント(ブラウザ)
・Cookieを受け取る
・Cookieを受け取ったサーバとは異なるWebサーバへ対してはCookieを送信しない(意図しない情報が他のWebサーバーへ送信されるのを防ぐため)

サーバー側PHPにおける$_COOKIE
・ブラウザに保存されているクッキー(Cookie)は$_COOKIEへ自動的に格納される
クライアントからサーバーへ送られた全てのクッキーは 自動的に $_COOKIE という(常にグローバルな)配列に格納される
※明示的にsetcookie関数を実行しなくても、$_COOKIE配列へは値が格納される

確認具体例


Cookieは通常ドメイン単位で管理されている
特別な設定でも行わない限り、異なるドメインのクッキーを取得できない

「http://example.com/」へ設置したPHPで$_COOKIEに格納されている'PHPSESSID' の値を確認
echo "<pre>";
var_dump($_COOKIE);
echo "</pre>";
array(2) {
 '__stripe_mid' =>
 string(36) "xxxx"
 'PHPSESSID' =>
 string(26) "n7r1141cacttfioiice3s7rv0i"
}


Google Chrome で Cookie 確認
・example.comでドメイン検索した結果
'PHPSESSID' の値は、"n7r1141cacttfioiice3s7rv0i"

・example.netでドメイン検索した結果
'PHPSESSID' の値は、"o6dcrkn2r7ddgh2fe16nump6lj"

Link


curl で Cookie を使用する


アクセス解析におけるクッキーの役割

 閲覧数:505 投稿日:2017-02-23 更新日:2017-02-23 
クッキー
・ユーザー識別IDをCookieに登録する




javascript を埋め込むビーコン型のアクセス解析ツール
・主に Cookie を発行してセッションを判断していたりする

サーバーとクライアント間をCookieで次のように管理
1.DMPタグ(Webビーコン)が設置されたWebサイトにユーザーが訪問
2.Webサイトはユーザーに対して1st Party Cookie(ID:AAA)を発行
3.DMPタグが発火
4.Webサイト(に設置されたDMPタグ)から画像がリクエストされ、DMPのサーバーへリダイレクト
5.DMPサーバーはリクエストを受けて、Webサイトがユーザーに発行したCookie情報(ID:AAA)を取得しつつ、ユーザーにDMPのCookie(ID:BBB)を発行+ダミー画像を返す
6.DMPサーバーには、自身のCookieIDとWebサイトのCookieID情報がマッピングされる(※イメージ ID:AAA=ID:BBB)


Webpage Screenshotがポリシー違反


セッションCookie

setcookie関数

コメント投稿(ログインが必要)



類似度ページランキング
順位 ページタイトル抜粋
1 Cookie 83
2 セッションCookie 59
3 setcookie関数 47
4 Doctrine 43
5 Composer 40
6 isset 36
7 die() 36
8 mixed 36
9 popen 36
10 break文 33
11 Propel 33
12 Exceptionクラス 33
13 include 31
14 phpinfo 31
15 imagick 31
16 foreach文 29
17 session_start() 29
18 register_globals 27
19 ErrorExceptionクラス 26
20 session_destroy関数 26
2024/4/20 12:38 更新
週間人気ページランキング / 4-13 → 4-19
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 15
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 6
3 curl で Cookie を使用する 5
3 PHPで定数を定義する方法は2種類ある / 配列定数の定義 5
3 コード例 … 「例外処理」はネストすることができる 5
4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ○○.php on line △△ | Warning(エラーメッセージ) 4
5 PHP用語 3
5 インターフェイス | クラスとオブジェクト 3
5 型の種類 | 型 3
5 php-devel とは? 3
6 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 2
6 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 2
6 エラー出力レベル設定 | エラー設定(エラーメッセージ) 2
6 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 2
6 プログラムの基本三構造 | 制御構造 2
6 Cookie / Cookieとは? / Cookie仕様 2
6 ブラウザを閉じたらセッションデータはどうなるの? | セッション 2
6 実際に遭遇した例 2
6 array_filter | 配列 2
6 foreach文 | 制御構造 2
2024/4/20 1:01 更新