あるサイトから別ドメインのクッキーを書き込む。こういうクッキーは、サードパーティクッキーと呼ばれる。FirefoxとChromeはデフォルトでサードパーティクッキーが書き込めるようになっているが、IEとSafariが問題になる。IEはコンパクトポリシーというものを設定すればいけるが、Safariは出来ない。Safariはデフォルトで”知らないとサイトや広告のみCookieをブロック”となっている。でも、GoogleAdsenseとかは書き込めている。なので調べた。 目的 localhostにアクセスしたときsample.comのクッキーを書き込みたい。 もちろんクロスブラウザで。 (sample.comはhosts書き換えやるといい) ポリシーの設定 (P3P) (以下IE対策用) webサイトで個人情報などを取り扱う場合、ブラウザで設定されたポリシー設定とアクセスしているサイトのポリシー
ifame(インラインフレーム)は、html中にフレームを埋め込めれるのですごく便利な機能である。しかし昔からセキュリティの面でいろいろ問題になってきた。 今回はIEがiframe内のクッキー処理をセキュリティでブロックした為、その対策方法を調べた。 現象のサンプル ローカル環境でサンプルプログラムを作っています。ドメイン「localhost」のp3p_test.html からドメイン「192.168.24.61」の iframe_contents.html をiframeで表示しました。 同じサーバなのですがローカルIPで指定することでクロスドメインとして判定されて現象が再現できました。 【p3p_test.html】 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/
なにげにしらなかったんだけど、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応答ヘッダの中に直接書くという方法もあり、コ
iframeを使うことでドメインをまたいでクッキーを書き込む方法です これはサードパーティクッキーと呼ばれているものです。 例えて言えば、parent.com にアクセスしただけで、外部ドメイン child.com のクッキーをセットしてしまうという黒魔術です。 完全なクロスドメインのSSO(シングルサインオン)を実現するために研究しました。 参考にしたのはGoogleのSSOです。 Googleは一度ログインすると、google.comだけでなく、youtube.com, google.co.jpも別のドメインであるにも関わらず全てログインしておいてくれます。 これをGoogleは、ユーザがログインすると https://accounts.google.com/CheckCookie に一度リダイレクトさせることで実現しています。 このページを反射神経でCtrl+Uソースを表示して参考に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く