Ich habe hunger

あふりかエンジニア、アフリカ向けのB2BのSaaSを開発する

facebookアプリでcookieを扱ったらInternet Explorerでデフォルトは無効なので有効にしたった

Facebookアプリの制作でSESSIONではなく、Cookieを使うものがあったのですが、
Google Chrome, Firefoxでは動作したもののInternet Explorerでは動かない。


調べてみるとIEではデフォルトの設定で「P3Pコンパクトポリシーが定義されていないサードパーティcookieは受け入れない」ようになっているらしい。


つまり、Facebookアプリ内でCookieを焼けない。


しかし、「定義されていない」ことが問題であって、絶対に焼けない訳ではなかった。

ので、必要なphpファイルに以下のように定義しました。

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


これでほぼ動くんじゃないでしょうか。

それぞれの文字列には意味がありますので、

ご利用のときは、きちんと自分のアプリにあったものを選んでくださいね。


参考

FacebookアプリのCookieをIEで有効にする方法 | CodeNote.net

クロスドメインでcookie書き込む方法 +クロスブラウザで - webネタ

IEでiframe内の別ドメインのCookieを有効にする方法 - satoru.netの自由帳