Facebook iFrame Canvas 应用程序 PHP session 问题

标签 facebook internet-explorer session iframe safari

过去一天半我一直在研究一个问题,但仍未找到解决方案。

当在 facebook(在 facebook 的 iFrame 中)访问我的游戏时,php session 不起作用。这适用于 IE 和 Safari。 Chrome 运行良好。

我已经阅读了有关此问题的堆栈上的所有帖子,这似乎归结于第三方 cookie 安全性并且需要首先与 iFrame 进行交互。有一个解决方法是让 javascript 首先将一些表单数据发布到 iFrame,但这似乎最近在最新版本的浏览器中已经“修复”,因为它不再有效。

我什至尝试实现一个开始页面,要求他们首先单击一个链接(在 iFrame 中)以加载另一个页面,然后创建 session 。但即使这样也行不通。

我什至在使用 javascript 的 iFrame 中加载新页面时也遇到了问题,这似乎总是导致无限循环刷新。

不,P3P header 不能解决它。

有没有人能解决这个问题?考虑到有多少 Facebook 应用程序存在,我不可能是唯一一个使用它的人!

最佳答案

我在使用禁用了“接受第三方 cookie”的客户端时遇到了这个问题。我的解决方案是通过将此行放在每个页面的开头来强制 PHP 将 session ID 嵌入到 URI 中:

ini_set('session.use_trans_sid', true);

由于 URL 在 Facebook 的 iframe 中,因此在顶部窗口中看不到 SID。

关于Facebook iFrame Canvas 应用程序 PHP session 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10105168/

相关文章:

javascript - 无需后端的用户认证

asp.net - 我的网站中的身份验证和安全性 - 请需要建议

javascript - 为什么这个 JSON 在 IE 中不起作用

html - 输入文件的图像标签不可点击

JavaScript 模糊在 IE 中不起作用

android - 使用 android-support-v4.jar 转换为 Dalvik 格式失败,错误 1

internet-explorer - CakePHP Cookie/ session 问题

facebook - 开放图谱 - 需要 XMLNS 吗?

ios - Facebook iOS SDK 3.1.1 "closeAndClearTokenInformation"方法无效

Facebook 分享链接未显示图像