2009年5月7日(木曜日)
P3Pコンパクトポリシーをコピペするのが流行らないことを祈る
公開: 2024年10月6日14時50分頃
「IEでiframe内の別ドメインのCookieを有効にする方法 (d.hatena.ne.jp)」。
なにげにしらなかったんだけど、IEで別ドメインのiframeを読み込むと、そのiframe内のcookieが有効にならない。
そーゆーときは、HTTPのリクエスト時のヘッダーに下記のkey&valueを出力しておけばOKらしい。
("P3P", 'CP="CAO PSA OUR"')
こーするだけで、あらふしぎ。IEがCookieを保存してくれるじゃん。
……。
iframeで別ドメインのコンテンツを読み込むと、そのCookieはサードパーティーのCookieとなります。IEのデフォルトでは、ポリシーが定義されていないサードパーティーのCookieは受け入れないようになっていて、P3P (www.w3.org)でポリシーを宣言すれば受け入れられるようになります。
P3Pのポリシーを定義するには、がっつりとXMLを用意する方法もありますが、HTTP応答ヘッダの中に直接書くという方法もあり、コンパクトポリシー (Compact Policies (www.w3.org))と呼ばれています。コンパクトポリシーで「P3P:CP=CAO PSA OUR」と宣言すると、以下のような意味になります。
- CAO …… compact-access: contact-and-other を意味します。ユーザがこのサイトでどんな個人情報にアクセスできるかを示します。CAOは、問い合わせ先などのコンタクトに必要な情報に加えて、その他の情報にもアクセスできるということです。問い合わせ先だけにアクセスできる場合は IDC(ident-contact) となりますが、CAO はそれに OTI(other-ident) を合体させたもので、より広い範囲の情報にアクセスできることになります。
- PSA …… compact-purpose : pseudo-analysis を意味します。データの収集目的は匿名での分析であり、個人が特定できるようにはしないという意味です。
- OUR …… compact-recipient : ours を意味します。この情報を受け取るのは自組織と、目的の達成に必要な委託先業者 (たとえば宅配業者) だけであるという意味です。
HTTP応答ヘッダに P3P:CP=CAO PSA OUR と出力することは、上記のような宣言を行ったということです。意味が分かっていて事実を書いているなら、何の問題もありませんが……。
※というか、MS の「[PRB] Internet Explorer 6.0 で FRAMESET を使用するとセッション変数が失われる (support.microsoft.com)」の内容にもだいぶ問題があるような気がするのですが。
- 「P3Pコンパクトポリシーをコピペするのが流行らないことを祈る」にコメントを書く
関連する話題: セキュリティ
- 前(古い): 2009年5月5日(Tuesday)のえび日記
- 次(新しい): 2009年5月8日(Friday)のえび日記