東京うぇ部

PHPをメインにしたプログラム情報共有サイト

PHP

サファリでのサードパーティCookieについて

結構はまりましたのでメモ。

とある会員登録システムにて、登録フォーム箇所に

iframeを使っておりましたが、最終テストの段階で

サファリだけうまく機能しない。。

以下のようなイメージになります。

前提条件
html表示サイトドメイン -> http://site_a.com(サイトA)
iframeで読み込んでいる別サイトドメイン -> http://site_b.com(サイトB)

http://site_a.com/add/index.phpのファイル一部

<iframe scrolling="no" src="http://site_b.com/members/add/index.php"><iframe>

http://site_b.com/members/add/index.phpのファイル一部
※サイトBアクセス時にクッキーAをチェックし存在しなかったらエラーになる処理有

<form action="" post="method">
	<input type="text" value="" name="mail">
	<input type="submit" value="commit" name="登録">
</form>
・
・
・

iframe内にて別ドメインのページを表示し、そこで

登録処理などを行っております。

クッキーAはサイトAとサイトBとのデータやり取りの為に

使っております。(両サイト間でのセッションみたいな感じです。)

どうもサファリでは、上記のようなサードパーティCookie(サイトB)の場合は

正常に保存してくれないみたいなのです。

サファリの設定でCookie受け入れをすべてにすればよい話ですが、

それだとスマートではない。。

いろいろやり方はあるかと思いますが、私はいったんサイトBにアクセスさせ

そこでサイトBのCookie(クッキーA)発行およびセット、その後本来のサイトAに

リダイレクトで帰ってくるという処理で対応しました。

が、ん~これもスマートではない。。

他にスマートな方法があるか模索中です。

コメントを残す




このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事