HTTP_cookie
ご協力下さい!!
◇暇つぶし何某◇

[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]

例:MediaWikiにおけるログイン情報

例として、MediaWikiにおけるクッキーの使用をあげる。

MediaWikiソフトウェアでは、ログイン情報をクッキーで実現している。その方法はおおむね次のようである。
ログインページからユーザ名とパスワードをサーバに送信する。この時点でクッキーは使われていない。

サーバは、ユーザ名とパスワードを確認し、ユーザーにカスタマイズされた「ログイン成功」のページを送信するとともに、ユーザー名とパスワードを(そのままではないが)クッキーとして送信する。

次の閲覧からはブラウザがページ閲覧要求とともに先のクッキーを送信する。サーバはクッキー情報によってユーザにカスタマイズされたページを送信する。

ログアウトをクリックすると、「ログアウト」のページとともに、空のクッキー情報を送信する。ブラウザは、先のクッキー情報を空のクッキー情報で上書きする。これにより最初のクッキー情報は消去される。

クライアント側スクリプトによるクッキーの操作

クッキーは、HTML DOMの一部としてアクセスできる。JavaScriptをはじめとする、クライアント側のスクリプトは、クッキーを操作することができる。ただし後述のようにクッキーには有効範囲が設定されており、そのURLにおいて有効なクッキーだけがアクセス対象となる。
ブラウザの環境設定によるクッキーの操作

現在使われているウェブブラウザのほとんどはクッキーの送受信が可能であり、初期状態でクッキーを送受信する設定になっている。しかし、クッキーの送受信をするしない、またそのクッキーの内容は、ウェブ閲覧者の自由に置かれるべきものであるので、ブラウザの初期設定でそれらを操作できるようになっている。すなわち、クッキーの送受信を停止する、クッキーの内容を確認する、クッキーを消去するといった機能がウェブブラウザに備わっている。
クッキーの適用範囲と有効期限

クッキーを設定する際、どの要求に対してクッキー情報を送り返すのか、URLの範囲を指定する。規定値は、クッキーを設定したサーバに対するすべての要求であり、対象を広げることも狭めることもできる。ただし広げる場合でも、トップレベルドメインより狭い範囲でなければならない。

またクッキーの有効期限は、通常はブラウザを終了するまでだが、指定した期限まではブラウザを再度起動しても保持されるように設定することができる。有効期限の情報も、サーバからブラウザにクッキー情報を送信する段階で付加される。 無期限という設定は出来ない。遥か未来を指定することで半永久的に有効にすることも可能だが、ブラウザやサーバが2038年問題で不具合を起こす場合があることから[6]、2038年1月19日3時14分07秒(UTC)以降の時間を期限とすることはあまりない。
セキュリティ、プライバシーの問題

この節の加筆が望まれています。

セッションハイジャック

クッキーでセッション管理を行う場合、もし第三者がセッションIDを知ることができれば、そのIDを名乗ることで本来のユーザになりすますことができる。このような「なりすまし」行為をセッションハイジャックと呼ぶ。

例として、以下のような通信を行うシステムがあるとする。
トップページでユーザIDとパスワードの入力を求める。

認証に成功するとサーバはセッションIDを割り当て、クッキーとしてクライアントに通知する。

クライアントは以降の要求にクッキーとしてセッションIDを付加する。サーバは対応するセッション情報にアクセスし、どのユーザであるか識別する。

もし第三者がセッションIDを知ることができれば、そのセッションが有効な間だけとはいえ、1?2を飛ばして3から開始することができる。すなわち、パスワードを知らなくても「なりすまし」が可能となる。

第三者のクッキー情報を知る方法のひとつは盗聴である。盗聴を防ぐ手段としてTLSがある。ただしここで、クッキーは有効範囲内のすべての要求に対して自動的に付加されることに注意する必要がある。SSLでクッキー情報を暗号化しているつもりでも、有効範囲の設定によっては、SSLを利用しない要求にもクッキーが付加される可能性がある。情報処理推進機構は2003年8月に、この点に関する注意喚起[7]を行った。

クロスサイトスクリプティングも、クッキー情報を不正に得る手段として使われる場合がある。クッキーには有効範囲が設定されているが、その有効範囲内にクロスサイトスクリプティング脆弱性を持つページがある場合、JavaScript等を併用して、他のサーバにクッキー情報を(URLの一部に組み込むなどして)送信させることが可能になる。
トラッキング・クッキー

クッキーを使うと、そのユーザからの他の要求と関連付けることができる。

この手法は、ウェブ広告業者がよく利用する。バナー広告は、業者のサーバへのリンクを介して画像を取得する形式が一般的である。前述のとおりクッキーはHTMLに限らず、画像にも設定することができる。HTTPではリンク元のURL情報も送信することが一般的なので、結果として広告業者は、同社を利用するすべてのサイトを対象としてそのユーザのアクセス履歴を把握することが可能になる。ユーザのアクセス履歴を追跡するという意味からトラッキング・クッキーと呼ばれたり、メインのHTMLではなく画像の提供元が設定するという意味からサードパーティ・クッキーと呼ばれたりする。

これをプライバシーの侵害と考える人も、そう考えない人もいる。このようなクッキーを設定したくないユーザのために、クライアント向けセキュリティ対策ソフトの多くは、トラッキング・クッキーを検出・除去する機能を備えている[8][9]。しかし、すべてのユーザにその影響が正しく理解されているとは限らず、コンピュータウイルスと誤解して初心者が驚くといった状況も散見される。
類似のトラッキング技術

ウェブサイト作成者はクッキーを用いなくても、IPアドレスユーザーエージェントウェブビーコンHTTPリファラなどを利用してトラッキングをすることが可能である。

またAdobe Flashで使われるLocal Shared Object(フラッシュ・クッキーとも呼ばれる)、HTML5Silverlightの保存領域を利用してクッキーと同様のトラッキングをすることが可能である。ユーザには非常に気づかれにくい上に、クッキーが拒否あるいは削除されてもそれらの情報から容易に生成・復元することもできる。これらを総称してZombie cookie(ゾンビ・クッキー)やSupercookie(スーパー・クッキー)などと呼ばれる[10]。問題になり始めた2011年現在では一般的なウェブブラウザやセキュリティソフトウェアの多くはこれに対処できておらず、除去や防止のためにはサードパーティ製ブラウザアドオンなどが必要である。
脚注^ ここで言う資源とは、HTML文書や画像、音声、などのコンテンツ全般を指す。
^ ウィキペディアを例に挙げると、同じURLでもログインしていない場合はページの一番上が「ログインまたはアカウント作成」、している場合は「(ユーザ名) 自分の会話 個人設定 ウォッチリスト 自分の投稿記録 ログアウト」と表示が変化する。


ご協力下さい!!
★暇つぶし何某★

[次ページ]
[記事の検索]
[おまかせリスト]
[ブックマーク登録]
[mixiチェック!]
[Twitterに投稿]
[オプション/リンク一覧]
[話題のニュース]
[列車運行情報]
[暇つぶしWikipedia]

Size:21 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:FIRTREE