IEの中でiframeはCookieの解決策を読み書きすることができません
情景:ハッピーネットアプリの開発をしていたとき、ハッピーネットアプリはiframeで引用され、IEでcookiesを読み書きできないことに気づき、FirefoxやChromeでは正常でした.
質問:IE 6では、FrameとIframeでは通常の方法でcookiesを読み書きすることはできません.
理由:IE 6にはPlatform for Privacy Preferences(P 3 P)をベースとしたプライバシー保護機能が組み込まれているため、ユーザは、クッキーの送信者が第1者(情報受信者)か第3者(情報を共有する第三者)か、情報の受信および使用、配布の選択肢(ユーザが第3者への情報提供を拒否したかどうか)などの関連情報を提供するかに応じて、クッキーの受信の有無を調整することができる.
解决:P 3 P HTTPヘッドをセットアップするだけで、隠しiframeの中でドメインをまたいでクッキーをセットアップできます.
具体的には、P 3 P:CP=’CURa ADMa DEVa PSAo PSDo OUR BUS UNIPUR INT DEM STA PRE COM NAV OTC NOI DSP COR’
例:
ASP:
php:
ASP.NET:
JSP:
質問:IE 6では、FrameとIframeでは通常の方法でcookiesを読み書きすることはできません.
理由:IE 6にはPlatform for Privacy Preferences(P 3 P)をベースとしたプライバシー保護機能が組み込まれているため、ユーザは、クッキーの送信者が第1者(情報受信者)か第3者(情報を共有する第三者)か、情報の受信および使用、配布の選択肢(ユーザが第3者への情報提供を拒否したかどうか)などの関連情報を提供するかに応じて、クッキーの受信の有無を調整することができる.
解决:P 3 P HTTPヘッドをセットアップするだけで、隠しiframeの中でドメインをまたいでクッキーをセットアップできます.
具体的には、P 3 P:CP=’CURa ADMa DEVa PSAo PSDo OUR BUS UNIPUR INT DEM STA PRE COM NAV OTC NOI DSP COR’
例:
ASP:
<%Response.AddHeader "P3P", "CP=CAO PSA OUR"%>
php:
header('P3P: CP=CAO PSA OUR');
ASP.NET:
Response.AppendHeader("P3P", "CP=CAO PSA OUR");
JSP:
response.setHeader("P3P","CP=CAO PSA OUR")