P 3 P IEドメイン間でサードパーティクッキーを受け取る

3974 ワード

問題の説明:
        ワンポイントログインを使用して他の業務システムBを統合し、システムAにログインした後、同じIEで新しいタブを開き、アクセスシステムBは正常にアクセスできるが、システムA上のiframeに組み込まれたシステムBを統合したページはアクセスできない.不思議なことに、再びリフレッシュしてから正常になりました.
 
原因:
        HTTPの数往復を見るとログイン要求は成功しており、問題はワンポイントログイン認証で戻ってきたクッキーIEが受け付けていないこと、次のリクエスト送信時にクッキーを持ってこなかったこと、前のSet-Cookieコマンドが効かなかったことを示しているのでなかなかログインできません.
 
解決方法:
        1、「インターネットオプション」で「プライバシー」レベルを低く設定したり、第三者ドメイン名を「信頼できるサイト」に入れたりすれば大丈夫です.しかし、私たちはユーザーごとにIE設定を変更することはできません.できません.
        2、P3P
 ASP.NET:
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");

PHP:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

JSP:
response.setHeader("P3P","CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND'");

 
 
ブラウザのサードパーティクッキー制限
サードパーティクッキーとは、WebページAにアクセスしてドメイン名Bのクッキー設定コマンドを受信することです.これは、上述したiframeおよびjsonpのようなウェブページAがBのウェブページを要求またはリンクしたためである可能性がある.
各ブラウザがドメイン間の処理ルールについて調べたところ、第三者クッキーが見え、IEはデフォルト設定で制限されている.
 
異なるブラウザのサードパーティクッキールール
 
IE
FireFox
Chrome
Safari
Opera
サードパーティcoookieの制限
はい
いいえ
いいえ
はい
いいえ
 
P3P?
P 3 PフルネームPlatform for Privacy Preferences、プライバシー設定プラットフォーム仕様.この規範は極めて複雑で、はっきり言えば、空は半分暗くなった.簡単に言えば、ウェブサイトが訪問者の個人情報を収集しているかどうか、クッキーの用途を設定しているかどうかなど、ウェブサイトがブラウザに自分のプライバシーポリシーを宣言することです.ブラウザは、設定に基づいて、サードパーティのリクエスト条件でWebサイトのクッキーを受け入れるかどうかを決定します.
P 3 Pの完全な配置には、プライバシーポリシーファイル(policy.html)、原則ファイル(policy.xml)、参照ファイル(p 3 p.xml)の設定が含まれており、詳細については、MSDNのP 3 Pの配置に関する記事を参照してください.
これは複雑すぎて、社内で各管理システムの単点登録をしたいだけです.幸い簡単な方法は、P 3 P関連のHTTPヘッダを送信することです.
ASP.NET:
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");

PHP:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

JSP:
response.setHeader("P3P","CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'");

はい、これらのIDC DSPはどういう意味ですか?
これらのラベルはP 3 Pに規定されています.例えば、NOIはユーザーを識別できる資料を収集しないことを示し、ADMは情報収集がウェブサイト管理に使用されることを示しています.完全なリストを表示し、中国語の簡単なリストを表示します.
ブラウザはこれらのラベルに基づいてクッキーを受け入れるかどうかを決定し、テスト結果に基づいてNOIを加えるのが最も手間が省け、1つで十分です.しかし、サイトは一般的にNOIを実現するのは難しい.永遠に匿名でない限り、「ログイン」機能はNOIに反する可能性がある.理論的には、ラベルはウェブサイトの情報収集行為を真実に反映しなければならない.声明のプライバシー政策が実際の行為と一致しなければ、法律責任を負わなければならない.Stackoverflowは法律関連の議題を提出した議論があり、参考にすることができる.
P 3 P httpヘッダを転送するだけでなく、HTML metaタグ、またはIISサーバを設定してP 3 Pを宣言することもできます.
参照リンク:http://blog.darkthread.net/post-2011-10-27-p3p-header-and-iframe-session.aspx