野生动物园中的iframe饼干

时间:2012-03-20 16:57:11

标签: php codeigniter session cookies safari

我的项目中存在基于iframe的问题。它的工作方式是我的用户获取特定广播的嵌入代码并将其粘贴到第三方网站上。嵌入代码在第三方网站上创建iframe,我的应用程序在其中运行。该应用程序与Facebook连接,因此用户必须登录Facebook才能使用该应用程序,当用户第一次访问时,通过按下他们获取弹出窗口并登录Facebook登录Facebook登录按钮。在他们登录后,我使用图形api获取他们的信息并将其设置在会话中。所有这些方案在所有浏览器中都可以正常工作,但在Safari中没有设置cookie。

我正在为我的项目使用codeigniter请帮助我。我试过设置一个p3p标题,但它也没有用。

1 个答案:

答案 0 :(得分:1)

仔细阅读

我正在使用CodeIgnitesession库,这与普通的PHP会话不同。我发现,对于用户的每次访问,服务器都无法跟踪会话并且每次都重新生成新的会话ID。对我们来说非常奇怪。因为我们基于CodeIginter的会话库的功能编写了全部代码,所以它不是我们删除代码和使用PHP本机会话的最佳解决方案。因为在这种情况下很有可能产生新的错误。经过大量的网络搜索,我们找到了CodeIgniter的包装类。

此包装类名为Native session。它使用与CodeIgniter的Session类相同的函数名称,但它在后端使用PHP的本机会话。由于我们的项目在Dedicated Server上运行,因此我们不担心会话安全性。我们用这个Native会话类替换了CodeIgniter的Session类,它解决了我们的问题。

因此,如果您通过使用CodeIgniter的会话库遇到此类与会话相关的问题,则可以使用Native会话库来解决问题。希望它有所帮助。