8

晚上好,

这个问题我问了好几次都没有反应,希望这次一切顺利。几年来,我一直在使用 php 和 Facebook PHP SDK 开发 Facebook 应用程序。最近我一直在努力使用 Safari 和 Facebook 登录。

问题是Safari 6默认检查了“阻止第3方cookies”选项,所以我的应用程序无法自动设置cookies。我只在 Safari 中看到这一点,cookie 是空的,与 Chrome 或 Firefox 不同,它们都很好地保存了 cookie。

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

有没有办法手动设置 cookie 或告诉浏览器这是一个安全站点?

我真的不知道我是否问对了问题。我对这个问题感到绝望,真的,我已经尝试了一切,我可以使用一些帮助,任何事情都会有帮助。

非常感谢!

4

4 回答 4

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, '/');
?>
于 2013-02-21T17:54:43.847 回答
1

您是否尝试过在 Safari 中设置跨域 cookie

Safari6 开箱即用,不允许跨域 cookie,这是问题所在。

于 2013-02-20T18:52:14.297 回答
0

您是否尝试过此博客中指定的带有标题更新 2 的解决方案。

http://www.reizbombardement.de/archives/safari-5-1-4-enforces-cookie-policy

我希望它在这里工作。

于 2013-02-22T03:54:29.967 回答
0

您是否尝试过 PHP 会话?如果我没记错session.use_only_cookies的话,您可以设置为 0 以便使用SID.

于 2013-02-20T21:36:27.170 回答