初めて訪れるページに、以前購入を検討するためにインターネットで検索した物と同一の製品の広告が、表示されていて不思議に思ったり、不安になったりしたことはありませんか?
また、オンラインショッピングで「この商品を買った人はこんな商品も買っています」のような機能について気になった方もいらっしゃるかもしれません。
両方のケースで鍵となるのはCookie(クッキー)と呼ばれるデータです。
Cookie(クッキー)とは?
教科書的な説明
Cookieとはウェブサイトがユーザのコンピュータに保存するテキストファイルのことで、各サイトが訪問者に割り当てるID情報等が含まれます。ユーザがウェブページを閲覧するたびに、ブラウザはウェブサーバーにCookieを送り、それに対応するユーザの環境設定やログイン情報をサーバーから読み込みます。
上記の説明でバッチリ理解できましたか?
ほとんどの方は「???」の状態ではないでしょうか。それでは、説明を単純化して、箇条書きにしてみます。
簡単な説明
- Cookieは単純なテキストファイル(文字情報ファイル)であり、ウイルスやスパイウェアではありません。
- Cookieに保存される内容は、ウェブサイトを利用しているあなたの識別情報です。
- あなたがウェブサイトを開いたときに、ブラウザが読み取り・保存を行います。
- ログインを必要とするサイトでは必須です。
単純でだれでもわかる説明になったのではないでしょうか。Cookieの概要については、上記の4点だけ理解すれば9割がたクリアです。
次に残りの1割にあたる上記の2つ目にある保存される識別情報について、より詳しくみていきましょう。
Cookie(クッキー)に保存される情報
Cookieはユーザがウェブサイトに訪れたときに保存されると説明しましたが、各ウェブサイトにつき1つというわけではありません。設定する内容ごとに様々なCookieが保存されます。ただし、どのクッキーも次にあげる5つの情報(プロパティ)を持っています。
- 名前
- コンテンツ(値)
- ドメイン
- 有効期限
- セキュリティ
プロパティの名前だけではわかりづらいので、具体的なCookieを使って詳しく見ていきます。以下がTwitter(ツイッター)に設定されたCookieの1つです。5つのプロパティのそれぞれに注目してください。
名前
名前プロパティはCookie自体の名前で、イメージでは、「lang」つまり言語設定を保存したCookieであることがわかります。ただ、多くのCookieは、ぱっとみでは意味不明な名前がついています。
コンテンツ
コンテンツはCookieに保存さる情報の核となる部分で、イメージでは、「en=英語」となっています。つまりTwitterの言語設定(lang)が英語になっているということです。
ドメイン
ドメインは保存されたCookieをサブドメインと共有するかどうかを指定します。
サブドメインに関しては、Googleがわかりやすい例です。
以下の表の通り、Googleが提供しているサービスは、Google.comのサブドメインからアクセスできます。
サービス名 | ウェブアドレス | サブドメイン |
Gmail | mail.google.com | |
Google Drive | drive.google.com | drive |
G Suite | docs.google.com | docs |
もし、ログイン情報がサブドメインで共有されていなければ、それぞれのサービスごとにログインし直さなければならないめんどうなことが起こるわけです。
例のイメージでは、「.twitter.com」となっていますよね。
これは、もしTwitterがGoogleのようにサブドメインでサービスを提供していれば、Twitterのどのサービスでも言語設定は英語になるということを意味しています。
有効期限
有効期限は、Cookieが保存されてから次に更新・削除される日付を表します。既定値はブラウザを閉じるまでの間を表すセッションですが、長いものは10年単位の期間のものも。
イメージのCookieは言語設定なので、一度ユーザーが言語設定を行えば変更はほとんどないので有効期限が1年と長めになっています。
セキュリティ
セキュリティは、接続方法とアクセス権に関連する2つのプロパティがあります。
接続方法の指定
接続方法のプロパティは、ブラウザがサーバーにCookieを送るときに暗号化された接続であるHTTPSに限定するかを指定。パスワードなどの重要なデータ以外は、http接続も使われるのでイメージのように「あらゆる種類の接続」になります。
ちなみに、セキュリティの項目は、Safariでは保護、FirefoxではSecureの名前で表示されるプロパティです。
アクセス権の限定
イメージは言語設定なので表示がありませんが、ユーザーのログイン状態などセキュリティ上重要な情報を含むCookieには、アクセス権に関するプロパティがあります。
Google Chromeでは「スクリプトにアクセス可能」、Safariでは「HTTP」、Firefoxでは「HTTP Only」の名前で確認が可能です。
アクセスをHTTPに限定すると、Cookieを保存したウェブサイト以外はその中身を見ることができなくなります。つまり、ユーザの端末がマルウェアに感染していても、端末内のCookieを直接盗み見ることはできないということです。
サードパーティクッキーとその問題点
CookieはオンラインショッピングやWebメールを含むインターネットの利便性を飛躍的に向上させた技術であることは間違いありませんが、開発された当初からプライバシーの問題が指摘されていました。
特に問題なのが、サードパーティクッキーと呼ばれる広告会社等の第三者が設定するCookie。
普通のCookieの有効範囲はアクセスしているサイト内に限定されますが、サードパーティクッキーは複数のページにわたってユーザー利用状況の追跡が可能です。
例えば、サイトAである製品を買った人は、その前後にサイトBとCを閲覧しているなどの情報が広告会社に利用される可能性があります。ただ、Cookieはあくまでも匿名の情報なので、これによりすぐに個人が特定されるということではありません。
Cookieはブラウザが自動で保存するので、知らないうちに広告会社等の第三者に利用情報を提供しているかもしれないということは知っておくべきでしょう。
以上でCookieの概要の説明は終わりです。
次はブラウザごとのCookieの設定方法について詳しく見ていきます。ここではiOS(iPhone & iPad)のSafariとデスクトップのGoogle Chromeの2つに焦点をあてます。
SafariでのCookie(クッキー)設定
iOS 11以上(iPhone5SおよびiPad Air以降の機器)
iOS10まではSafariで細かいCookieの設定が可能でしたが、2017年にリリースされたiOS11以上はCookieを完全にブロックするか・しないか、の2択になりました。
「設定>Safari>プライバシーとセキュリティの項目」にある「すべてのCookieをブロック」から設定できます。
この設定オンにすると以下のような警告が表示されます。
使われている日本語はやさしいですが、よく意味がわかないかもしれません。具体的に説明すると、次のとおりです。
- すべてのサイトでログインができなくなる
- ログイン状態のアカウントがあればログオフされる
- 段階認証で信頼するディバイスとして登録していた場合、この認証情報が削除される
- Safari で開いたままにしているすべてのページが閉じられる
ログインができなくなるのは、Cookieの性質を理解すればわかると思いますが、2段階認証の認証情報までは気が回らないかもしれません。すべてのCookieをブロックの設定をオンにしたあとにすぐにオフにしても、再認証が必要です。
実際に、すべてのCookieをブロックをオンにした状態でログインしようとすると以下のようなメッセージが表示され、ログインができないことが確認できると思います。
ブラウザの Cookie(クッキー) が無効になっています。Cookie を有効にして、もう一度お試しください。
多くのサイトは、ログインを必要としないのでCookieがなくても通常問題なく使えることが多いです。しかし、サイトによってはわざと表示できなくしていることもあります。
また、2番の開いたままのページが閉じられるのは、Cookie削除に伴う副作用です。ブックマークせずに後で読むために開いていたページが閉じられるので要注意。プライベートブラウズモードのページも閉じられるので、その点も気をつけてください。
以前保存されたCookieの削除は、設定>Safari>履歴とWebサイトデータを消去から簡単にできます。
iOS 10以下(iPhone 5)
「設定>Safari>Cookieをブロック(プライバシーとセキュリティの項目)」に以下の4つの設定があります。
- 常に許可
- 訪問したWebサイトを許可(初期設定)
- アクセス中のWebサイトのみ許可
- 常にブロック
常に許可と常にブロックは文字通り、すべてのウェブサイトがCookieを保存するのを常に許可または拒否の意味です。
訪問したWebサイトを許可の設定では一定の広告会社のクッキーをブロックできます。アクセス中のWebサイトのみ許可の設定では、多くのサードパーティクッキーをブロックできますが、他のサイトのコンテンツ(動画など)を埋め込んだページがうまく表示できないことがあります。
表示されない理由がクッキーをブロックしているからなのか、サイトの問題なのかを調べるのが多少面倒かもしれません。
プライベートブラウズモードのCookie
Cookieを完全にブロックすると表示がうまくいかない場合もあるため、Cookieの設定を変えずに「プライベートブラウズモード」を使う方法も有効です。
このモードでは、タブを開いている間だけクッキーを保存し、閉じるとクッキーだけでなく閲覧履歴もすべて自動的に消去します。すべてのCookieをブロックと違うのは、一時的であれCookieを保存するという点です。
気をつけたいのが、タブを閉じるまではCookieが保存されるということ。同じタブから様々なサイトを見続けた場合は、通常モードと同じです。
Cookieを消去するには、きちんとタブを閉じてください。
プライベートブラウズモードを使うには、Safariの右下端に表示されるアイコンをタッチしてください。左下に「プライベート」と表示されたら、その「プライベート」をタッチするだけです。
Google ChromeのCookie(クッキー)設定
ブラウザの右上の3点メニュー>設定>詳細設定>サイトの設定>Cookieとサイトデータ からクッキーの設定ができます。以下の3つの項目の設定です。
- サイトに Cookie データの保存と読み取りを許可する
- Chrome の終了時に Cookie とサイトデータを削除する
- サードパーティの Cookie をブロックする
多くの方は、Google Chromeの基本設定のままでかまいません。もし、サイトを超えての広告トラッキングが気になるようでしたら、「サードパーティの Cookie をブロックする」をオンにするのをおすすめします。
また、iOSと同じようにCookieの設定を変えずに、Google Chromeの「プライベートブラウズモード」にあたる「シークレットモード」を使うのも悪くない方法です。3点メニューから「新しいシークレットウィンドウ」を選択して使います。
ショートカットは、「Ctrl + Shift + N」です。
Cookie(クッキー)の削除
Google ChromeでCookieの削除をするときは、個別と期間指定削除ができます。
個別のクッキーを削除するには、上記の「Cookieとサイトデータ」にある、「すべての Cookie とサイトデータを表示」をクリックしてください。
保存されているすべてのクッキーがリストされるので、バケツアイコンをクリックして削除します。クッキーを削除したいサイトの名前がわかっている場合は、検索も可能です。
期間を指定しての削除は、ブラウザの右上の3点メニュー>設定>詳細設定>閲覧履歴データの削除 からできます。「1時間以内」や過去24時間など期間を指定して、クッキーを削除してください。
Cookieについてのまとめ
Cookie(クッキー)はユーザーの環境設定やログインの有無などをウェブサーバーから読み込むためにブラウザが利用する小さなテキストファイルです。ユーザーが入力した情報のみが匿名で保存されるので、セキュリティーに関して必要以上に心配する必要はありません。
ただし、プライバシーに関してはサードパーティクッキーを使って広告会社にインターネットの利用状況や趣向を追跡分析される可能性があります。
Cookieを完全にブロックすると使えないページもあるので、プライベートモード(シークレットモード)とCookieの設定でプライバシーと使い勝手とのバランスをとりましょう。
パソコンの場合は、定期的にどんなクッキーが保存されているか確認するのもよいかもしれません。