基礎Cookie講座
written by IPUSIRON(1999,10,7)
■クッキーって何?
クッキーといっても食べるクッキーではありません。たびたび、食べるクッキーと掛詞になる場合が多々ありますが・・・(例:「クッキーをむしゃむしゃ」「おいしいクッキーの食べ方」)。
以下にクッキーの簡単な説明を示します。
- WWWサーバからHTML文書などのコンテンツが転送されてい来る時に、一緒に送られてくる簡単な情報のことをクッキーと言う。
- そのクッキーは、ブラウザで保存されて、それを送ったWWWサーバへ再びアクセスする時に、ブラウザからWWWサーバへ送り返される。
即ち、WWWサーバとブラウザは、クッキー(簡単な情報)をキャッチボールし合っているといことです。
■もう少し具体的にクッキーについて知ってみる
いくつかの Web サイトでは、"cookie"
と呼ばれる小さいテキスト ファイルに情報が保存されます。cookie
はユーザーのハードディスク上にあります。
cookie
には、ユーザー自身の情報やユーザーの好みに関する情報が保存されます。たとえば、ある航空会社の
Web ページでフライト
スケジュールを調べたときに、そのサイトによって旅程に関する情報を含む
cookie
が作成されます。または、サイト内のどのページを表示したかのみを記録して、次にサイトにアクセスしたときにそのページが表示されるようにします。
ユーザーが入力したり Web
サイト上で選択したりした情報だけが cookie
に保存されます。たとえば、ユーザーが入力していないのに、サイト側に電子メール
アドレスが知られてしまうということはありません。Web サイトに cookie
の作成を許可しても、その Web
サイトやほかのサイトがユーザーのコンピュータのほかの部分にアクセスできるわけではありません。また、cookie
を参照できるのは、cookie を作成したサイトだけです。
標準では、Internet Explorer は cookie
が作成できるようにセットアップされます。ただし、ハードディスク上に
cookie が作成される前にメッセージを表示させて、cookie
を作成するかどうかを選択することができます。また、すべての cookie
を受け入れないようにすることもできます。
セキュリティ
ゾーンごとに設定を変えることができます。たとえば、Web
サイトが信頼済みサイト ゾーンやイントラネット ゾーンにある場合は
cookie の作成を許可し、インターネット ゾーンの場合は cookie
を作成する前にメッセージが表示されるようにし、制限付きサイト
ゾーンの場合は cookie の作成を許可しないようにできます。
■もう少し詳しくクッキーを食べてみる
クッキーの情報やり取りは、リクエストメッセージやレスポンスメッセージ内のヘッダーで行われる。例えば、以下のようにである。
WWWサーバ⇒ブラウザ
|
Set-Cookieヘッダー
|
ブラウザ⇒WWWサーバ
|
Cookieヘッダー
|
ちなみに、RFC1945(HTTP/1.0)やRFC2068(HTTP/1.1)に、これらのヘッダーについて触れられていない。しかし、多くのWWWサーバにおいてクッキーは利用されています。
■ブラウザの設定
IE
|
オプション>詳細設定
|
NN
|
編集>設定>詳細
|
Lynx2.7,2.8
|
コンパイル時に設定をするuserdefs.hや実行時に設定するlynx.cfgでクッキーをサポートするようにした場合、必ず警告が出る。
クッキーをサポートしないようにしている場合は、Lynxを立ち上げる際に、コマンドラインで「-cookie」オプションを指定する。
|
■クッキーの保存場所
NN
|
Win95・98
|
\Program
Files\Netscape\Navigator\cookies.txt
\Program Files\Netscape\User\ユーザ名\cookies.tx
|
|
Win2000
|
?(情報求む)
|
|
MacOS
|
システムフォルダ/初期設定/Netscape/MagicCookie
|
|
Unix
|
~/.netscape/cookies
|
EE
|
Win95・98
|
\Windows\Cookies\
\Windows\Temporary Internet Files\
|
|
Win2000
|
?(情報求む)
|
|
MacOS
|
?
|
Lynx
|
各OS共通
|
Lynxでは、現時点(バージョン2.8)ではクッキーの保存はできない。
通常の設定では、[Ctrl]+[k]で「Cookie
JarPage」が開き、Lynxを起動してから現在までのクッキーの様子が表示される。
|
|
|
|
|
|
|
■Cookieファイルとセキュリティ
JavaScript と Cookie
ファイルを利用した場合、フォームに入力したデータを保存させておく事が可能です。JavaScript
では現在の URI のデータしか送信する事ができず、Netscape
3.0以降では送信してもよいかどうかのダイアログが表示されます。他のページで入力されたデータに関してはフレームとサブウィンドウを利用することで送信する事が可能です。しかし、この場合でも
Netscape
3.0以降では送信してもよいかどうかのダイアログが表示されます。
フレームまたはサブウィンドウおよび CGI と
JavaScript を組み合わせる事により Cookie
ファイルの内容を送信する事が可能です。この場合盗まれるデータは訪問先の
URL および Cookie
ファイルに記述されている内容です。セキュリティ対策のために最新版のブラウザを使用しましょう。
Netscape や IE
などでは基本的にローカルファイル(使用しているマシンのディスク等)に情報を書き込むことは出来ません。しかし、CGI、JavaScript
等を使用することで「cookie
ファイル」にのみ書き込みを行うことが出来ます。cookie
ファイルは以下の名称になっています。
Cookie
ファイルの項目は1行単位となっており、項目は空白で区切られています。先頭にドメイン名、フラグ、アドレス、フラグ、ID、名前、データとなっています。ファイルの1行の先頭にはアクセスしたサイト名等が記録されています。
cookie
ファイルは1行単位で処理され、ファイルの最大サイズは 4KB
(4096文字)、エントリーの合計は300、サーバまたはドメインで最大20となっています。この制限を越えた場合使用されていないものから削除されていきます。
Cookie ファイルを ON
にしなければ見れないサイトもあるので、常時 OFF
にするわけにはいけません。しかし Cookieを ON
にしているためにブラウザのセキュリティホールを利用して Cookie
ファイル以外に書き込みや読み込みも可能です。
■ゾーンのセキュリティ
レベルを設定するには(おまけ)
1、Internet Explorer で、[ツール] メニューの
[インターネット オプション] をクリックします。
2、[セキュリティ] タブをクリックします。
3、セキュリティ
レベルを設定するゾーンをクリックします。
4、つまみを上下に移動して、セキュリティ
レベルを高くしたり低くしたりします。
ちなみに、選択したゾーンに対してセキュリティを独自に設定するには、[レベルのカスタマイズ]
をクリックします。特定のセキュリティ
レベルに対して設定したオプションを元に戻すには、[標準レベル]
をクリックします。
■参考文献
- 『インターネット屋根裏探検隊』
- MS InternetExploror Help
戻る