2つのウェブサイトがあり、仮にexample.com
とanotherexample.net
とします。
anotherexample.net/page.htmlでは、
IFRAME SRC="http://example.com/someform.asp"`を用意しています。このIFRAMEは、ユーザーが記入して http://example.com/process.asp
に送信するフォームを表示しています。フォーム("someform.asp
")を独自のブラウザウィンドウで開くと、すべてうまくいきます。
しかし、IE 6またはIE 7でsomeform.asp
をIFRAMEとしてロードすると、example.comのクッキーが保存されません。 Firefoxではこの問題は発生しません。
テストのために、http://newmoon.wz.cz/test/page.php で同様の設定をしてみました。
「example.com」はクッキーベースのセッションを使用しているため(これについてはどうしようもありません)、クッキーがないと「process.asp」は実行されません。**どうすればIEにクッキーを保存させることができますか?
HTTPトラフィックをスニッフィングした結果: GET /someform.aspのレスポンスには、有効なセッションごとのSet-Cookieヘッダ(例:Set-Cookie: ASPKSJIUIUGF=JKHJUHVGFYTTYFY
)がありますが、POST /process.aspのリクエストには、Cookieヘッダが全くありませんでした。
しかし、POST /process.aspリクエストでは、Cookieヘッダが全くありません。私は、簡単だからといって、自分のアプリケーションにバグとセキュリティホールの組み合わせを使わせたくありません。
編集: P3Pポリシーが根本的な原因 でした、詳しい説明は以下の通りです。
policy1
としました)。
注意: この時点では、実際に自分のサイトがプライバシーポリシーを持っているかどうかを調べ、持っていない場合はそれを作成する必要があります。ユーザーデータを収集するかどうか、どのような種類のデータか、それを使って何をするか、誰がそれにアクセスできるかなどです。これらの情報を見つけ、それについて考える必要があります。ただいくつかのタグを並べるだけではダメです。このステップは、純粋にソフトウェアで行うことはできず、高度に政治的なものになるかもしれません(例: "should we sell our click statistics?" )。
(例: "このサイトは有限会社ACMEによって運営されており、その運営にはセッションごとの匿名の識別子を使用しており、明示的に許可された場合にのみ、以下の目的でのみユーザーデータを収集し、データは必要な期間のみ保存され、当社のみがアクセス可能である、等々。)
(このツールで編集すると、ポリシーのエラー/オミッションを表示することができます。また、HTML Policy"というタブも非常に便利です。下部には、ポリシーの評価"があり、IE'のデフォルト設定でポリシーがブロックされるかどうかを簡単にチェックすることができます。)
エディタは、上記のポリシーをXMLで表現した.p3pファイルをエクスポートします。また、このポリシーのコンパクトバージョンをエクスポートすることもできます。
ポリシーへのリンクその後、ポリシーリファレンスファイル(http://example.com/w3c/p3p.xml
)が必要になりました(サイトが使用しているプライバシーポリシーのインデックスです)。
<meta>
<POLICY-REFERENCES>
<POLICY-REF about="/w3c/example-com.p3p#policy1">
<INCLUDE>/</INCLUDE>
<COOKIE-INCLUDE/>
</POLICY-REF>
</POLICY-REFERENCES>
</meta>
<INCLUDE>
では、このポリシーを使用するすべてのURIを示しています(私の場合はサイト全体)。エディタからエクスポートしたポリシーファイルを http://example.com/w3c/example-com.p3p
にアップロードしました。
コンパクトなヘッダをレスポンスで送るexample.comのウェブサーバでは、以下のようにコンパクトヘッダをレスポンスと一緒に送信するように設定しています。
HTTP/1.1 200 OK
P3P: policyref="/w3c/p3p.xml", CP="IDC DSP COR IVAi IVDi OUR TST"
// ... other headers and content
はポリシーリファレンスファイルへの相対URI (これによりプライバシーポリシーが参照されます)、
CP` はコンパクトなポリシー表現です。**P3Pヘッダーは、自社のプライバシーポリシーを忠実に表現しなければなりません。
儲かる!何人かの人が、「Evil Eyeが諦めるまで、P3Pヘッダにいくつかのタグを叩き込むだけでいい」と提案しています"。 タグは単なるビットの集まりではなく、現実世界の意味を持っており、その使用は現実世界の責任を与えます。 例えば、ユーザーデータを収集しないふりをすれば、ブラウザは満足するかもしれませんが、実際にユーザーデータを収集してしまうと、P3Pは現実と矛盾してしまいます。簡単に言えば、ユーザーに対して意図的に嘘をついていることになり、国によっては犯罪行為になるかもしれません。国によっては犯罪行為になるかもしれません。 いくつかの例を挙げてみましょう(タグの完全なセットについてはp3pwriterを参照)。
STP
を送信してもリテンション・ポリシーを持っていない場合、あなたは詐欺を犯している可能性があります)。それってカッコいい?全然違いますよ)。
私は弁護士ではありませんが、P3Pヘッダが本当に法的拘束力を持っているのか、あるいは実際に約束を守る気がなくてもユーザに何でも約束できるのかどうかを確かめるために、法廷に出ようとは思いません。