[PHP-users 29922] Re: 異なるドメインで発行されたクッキーへのアクセス

kiyono@mediatie.com kiyono @ mediatie.com
2006年 8月 2日 (水) 13:43:29 JST


清野と申します。

> 2つのサーバがあります。
> HTML表示用のサーバと、PHP処理用のサーバです。
> これらには異なるドメインを割り振っています。
> そのためかクッキーの処理に失敗してしまいます。

HTTPの初歩なのですが、異なるドメインのクッキーは送出されません。
Internet Explorer含め、ほとんどすべてのユーザーエージェントの仕様ですし、
異なるドメインでクッキーを共有する方法もありませんので、ほぼ回避できませ
ん。

www.hogehoge.co.jpとphp.hogehoge.co.jpという二つのドメインが有ったとして、
www宛のクッキーをIEが保存して、phpにも同じクッキーを送信したとします。
これは、まったく無関係なドメインからもそのクッキーを受け取れる可能性を
意味します。
たとえば、仮に悪意のあるwww.hogehogeattaker.co.jpというドメインのhttpサー
バーが存在し、悪意をもってクッキーを盗用したい人物が、そのhttpサーバーで
www.hogehoge.co.jp宛のクッキーを参照できる可能性があるということです。
そのような脆弱な仕様はまったくありえません。

-- 
清野 慈朗 <kiyono @ mediatie.com>


> 高森と申します。
> クッキーについてご相談させてください。
> 
> 2つのサーバがあります。
> HTML表示用のサーバと、PHP処理用のサーバです。
> これらには異なるドメインを割り振っています。
> そのためかクッキーの処理に失敗してしまいます。
> 
> ----------------
> HTML表示部分
> ----------------
> <img src="http://php/gazou.php">で
> PHP処理用のサーバにリクエストしています。
> 
> 
> ----------------
> gazou.phpの処理
> ----------------
> 
> 1. クッキーを送出
> 
> 2. 同じサーバ内の確認ページにLocation:で遷移させ、
>    print_r($_COOKIE)で確認する
> 
> ----------------
> 結果
> ----------------
> ところがWindowsXPのIE.6で確認したところ、
> クッキーは全て保存されない結果となりました。
> 
> 原因として考えたのは次の2点です
> 
> 1. ブラウザで表示しているページのドメインと
>    クッキーを送出したスクリプトのドメインが違うため
> 
> 2. IE.6のセキュリティ設定がデフォルト「中」となっており
>    全てのクッキーを保存するするようになっていないため
> 
> 
> 回避策として以下の方法も試してみましたが、
> やはり失敗してしまいました。
> 
> 1. 上記のHTML表示部分をPHP処理用サーバ内に記述
> 
> 2. iframeタグでインラインフレームとして呼び出す
> 
> やはりブラウザのセキュリティ上、
> この処理は許されないのでしょうか?
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
> 




PHP-users メーリングリストの案内