memorandum
thinking about creation

iframe内のCookie問題

Entry Date _ 2016.04.15
/
ModifiedDate _ 2016.04.29

ウェブページの中に別サイトを表示させたいことがあります。その場合、通常iframeというHTMLタグを使い、指定した領域に別サイトをそのまま読み込むことで実現します。このiframeはとても便利な機能で、モーダルウィンドウなどでも使われていますよね。

しかし、このiframeには、ちょっとした問題があることに最近気付かされました。一部のブラウザでは、iframe内別サイトのクッキー(Cookie)が正しく処理されないのです。例えば、iframe内の別サイトが認証を要求するもので、その認証がクッキーによって管理されていた場合、一部のブラウザでは認証を通過することができないのです。また認証をしていなくても、クッキーでセッション管理していた場合、正常な遷移をおこなることができなくなります。

さまざまなブラウザで試してみたところ、IE(11)とiOS(9.3.1)のsafariでこの症状が確認され、他のPCのブラウザ(Chrome/firefox)やandroidのブラウザ(標準/Chrome/firefox)では確認されませんでした。調べてみると、どうやらこのような問題は「サードパーティ・クッキー問題」と呼ばれ、その対応がブラウザによってまちまちであるために、このような問題が起こっているようです。

サードパーティ・クッキーとは、「ユーザがアクセスしたドメインとは異なるドメインから取得されるクッキー・データ」のこと、つまりiframe内の別サイトからのクッキー・データはその最たるものということになります。これによる問題点はユーザーが意識しないところでクッキーのやり取りが行われてしまうことです。

例えばAというサイトにアクセスして、そのページにBという別サイトを表示するiframeが仕込んであったとすると、ユーザーはサイトAを見ているつもりなのに、知らず知らずのうちにサイトBとクッキーのやり取りが行われてしまう――このような方法がトラッキングとして応用された場合、おおまかな個人情報が第三者に渡ってしまう可能性もあるわけです。

対応策としては、ブラウザのセキュリティレベルを下げるなどの手立てがあるようですが、それをユーザーにしいるというのは現実的ではありません。また、別サイトの方で、あるヘッダー情報を出力すると回避できるようなのですが、それには別サイト側とのコミュニケーションが必要になってしまいます。なので現状このような方法をとる場合には十分な注意が必要になると言えるでしょう。

【参考】

IEでクロスドメインのiframe内のcookieが取れない
http://memories.zal.jp/WP/blog/20110322_1978.html

開発者を悩ませるiframe内表示Webアプリ問題とは?
http://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=002177

今更聞けないサードパーティークッキーについて
http://www.d2c-smile.com/201403131840

Category

memorandum index