PHP IE でフレーム内に埋め込んだ別ドメインのページ内でも session を引き継ぐようにする

frameset で別ドメインのページを埋め込むと、IE ではそのフレーム内のページで session を引き継いでくれませんでした。
Google Chrome と Firefox では問題なく動作しましたが、IE ではインラインフレームにしてもやはりダメでした。

[adsense1]

調べてみると、IE ではフレーム内は cookie が無効になるようです。
cookie を有効にするには、フレーム内のページで以下のヘッダ情報を出力する必要があります。

//フレーム対応
header('P3P: CP="CAO PSA OUR"');

この宣言の意味
P3P コンパクト ポリシー ヘッダーを追加し、ユーザーのデータを使用して悪質な操作が実行されないことを宣言すればCookieが有効になるみたい。Internet Explorer が適切なポリシーを検出すると、Cookie の設定が許可されます。 その、宣言の条件とは下記の3つ。
CAO
サイトはユーザー自身の連絡先情報へのアクセスを提供すること
PSA
データはオンラインの個人に接続され、物理的な識別情報には接続されない
OUR
および外部エージェントでの使用を目的にデータが外部エージェントに提供されないこと

satoru.net – IEでiframe内の別ドメインのCookieを有効にする方法 より
http://d.hatena.ne.jp/satoru_net/20090506/1241545178

[adsense2]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください