Safari 6中Cookie未能设置

8

晚上好,

我之前问了几次这个问题,但都没有得到回复,希望这一次能有所进展。我已经使用PHP和Facebook PHP SDK开发了几年的Facebook应用程序。最近我在Safari和Facebook登录方面遇到了一些困难。

问题是Safari 6默认勾选了“阻止第三方Cookie”选项,因此我的应用程序无法自动设置Cookie。只有在Safari中出现这种情况,Cookie为空,而Chrome或Firefox则保存Cookie正常。

我正在使用 Facebook PHP SDK示例来登录用户,所以我不知道问题出在哪里。我已经阅读了很多“解决方案”,但它们都已过时,并且不适用于Safari 6。

是否有一种手动设置Cookie的方法或提示浏览器这是一个安全站点的技巧?

我真的不知道我是否在问正确的问题上。我对这个问题感到绝望,我已经尝试了所有方法,可以用一些帮助,任何东西都会有所帮助。

非常感谢!


Safari第三方cookie问题在此之前已经被多次讨论过,请进行一些(重新)搜索。 - CBroe
是的,我知道,但是以前的讨论/答案都对我没用。 - chuysbz
https://dev59.com/EHM_5IYBdhLWcg3w-4dg - Dom
https://www.stackoverflow.com/questions/9930671/safari-3rd-party-cookie-iframe-trick-no-longer-working/10098007#10098007 - Igy
4个回答

1

通常设置p3p头就可以解决问题了 http://ash4aque.wordpress.com/2011/09/21/cross-domain-cookies-in-safari/ - Jessie Frazelle

1
您可以使用PHP手动设置cookie:

setcookie(name, value, expire, path, domain);

http://php.net/manual/en/features.cookies.php

或者这已经是你正在使用的吗?

另外,尝试使用p3p头。

<?
  header('P3P: CP=HONK');
  setcookie('test_cookie', '1', 0, '/');
?>

0
你尝试过使用PHP会话吗?如果我没记错的话,你可以将session.use_only_cookies设置为0,这样ID就会通过SID传递。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接