読者です 読者をやめる 読者になる 読者になる

safariでiframe内でformをsubmitする方法でサードパーティクッキーを使えるようになるのか

はじめに

http://japanese.engadget.com/2012/02/17/google-cookie-safari/
タイトルの内容ですが、以前にたぶんここら辺の記事を見てできるのかなと漠然と思っていたのだが試したことがなかったので試してみた

ようはサードパーティクッキーをsafariでも食わせることができるのかということ

ためしてみる

メイン側
index.html

<script type="text/javascript" src="//third-party.com/iframe.js"></script>

サードパーティ
iframe.js

var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
var doc = frames[frames.length - 1].document;
doc.open();
doc.write("
  <form action='//third-party.com/create_cookie.php' name='form'></form>
  <script>document.form.submit();</script>
");
doc.close();

create_cookie.php

if(!isset($_COOKIE["id"]))
    $id = ランダムなIDをセット;
else
    $id = $_COOKIE["id"];

setcookie("id", $id, time() + 60 * 60 * 24 * 365 * 10, "/");

show_cookie.php

var_dump($_COOKIE);

上記のようなスクリプトを準備して以下の手順で確認
1. メイン側のindex.htmlへアクセスする
ここで読み込むiframe.jsで自動でsumitしてsubmit先でクッキー生成

2. サードパーティ側のshow_cookie.phpへアクセスしてクッキーがセットされている確認

結果
ChromeFirefoxではクッキーがセットされた
Safariではセットされなかった

やり方がおかしいのか上記の記事がだいぶ前なのでiOS側でセットしないように修正されたのか。
どちらにしろ自分的にはセットできないと判断しました。

以上です