お世話になります。
クロスドメインでCookieをセットする方法についての質問です。
CORS(XHR2)を使用すれば、クロスドメインでもCookieをセットできるという情報が多々見つかり、
試しているのですが、Safari(mac版/iOS版どちらも)のみCookieをセットできずに困っております。
下記コードで、クロスドメインでのAjax通信自体は行えているのですが、
Cookieをセットすることができません。
// http://exsample_a.com jQueryを使用 $.ajax({ type: 'POST', cache: false, url: 'http://exsample_b.com/set_cookie.php', data: { test : 'test_data' }, xhrFields: { withCredentials: true } });
// http://exsample_b.com header('Access-Control-Allow-Origin: http://exsample_a.com');//exsample_aの通信を許可 header('Access-Control-Allow-Credentials: true');//Cookieの使用を許可 setcookie('test', $_POST['test'], time()+3600);// cookieをセット
Safari以外では動作しているのですが、
Safariではセキュリティポリシーが厳しいのか、
Cookieの設定を「常に許可」にしなければ、XHR通信のリクエストヘッダーの段階でCookieが消えてしまっているようです。
CORSでCookieをセットできるという記事はたくさん見つかるのですが、
Safariでは動作しないなどの情報が見つけられず、
対策方法があれば対策方法を、無いのであれば、別の手段などの情報を教えていただけますと幸いです。
何卒、よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/26 01:36