Ajax:CROS-DOMAIN请求未使用PHP通过Safari IOS设置Cookie
我试图使用PHPCros-DOMAIN设置cookie,这意味着我的JS托管在另一个域中,即试图设置cookie的对PHP页面的JS调用。 它适用于除手机Safari之外的所有浏览器(iPhone 6) 奇怪的是,我可以访问用户cookie,但不能设置(有时它会设置一个空cookie,0字节) 以下是我在php文件中的代码:Ajax:CROS-DOMAIN请求未使用PHP通过Safari IOS设置Cookie,php,ajax,cookies,safari,cross-domain,Php,Ajax,Cookies,Safari,Cross Domain,我试图使用PHPCros-DOMAIN设置cookie,这意味着我的JS托管在另一个域中,即试图设置cookie的对PHP页面的JS调用。 它适用于除手机Safari之外的所有浏览器(iPhone 6) 奇怪的是,我可以访问用户cookie,但不能设置(有时它会设置一个空cookie,0字节) 以下是我在php文件中的代码: header('Access-Control-Allow-Origin: '.$origin); header('Access-Control-Allow-
header('Access-Control-Allow-Origin: '.$origin);
header('Access-Control-Allow-Methods: POST, OPTIONS, GET, PUT');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Headers: X-Requested-With');
header('Access-Control-Max-Age: 1728000');
setcookie("display_session_id", "1234", time() + (60 * 43800), "/", '.mydomain.com', false);
我试着用*代替$origin,但没用。
我还试图将这些声明放在.htaccess中,但没有成功。
服务器:Apache
PHP版本:5.4.45
Safari现在默认情况下会阻止来自未知域的几乎所有跨域cookie。这意味着:
Main Site: example.com
Cookie Site: cookie.com
如果用户访问example.com但从未访问过cookie.com,Safari将不允许他们为cookie.com存储cookie。
如果用户访问example.com并且以前访问过cookie.com,Safari将允许cookie不被询问
这是默认策略,但是您也应该对桌面上的Safari和Internet Explorer的新策略有问题,这会干扰P3P