我正在开发一个Facebook应用程序。我正在使用Sessions和cookies,并且一切正常。突然IE8在使用Cookie方面存在一些错误。它阻止了我的网站,因为它在iframe中。所以我开始了解P3P标题。我正确使用并解决了问题。但是,如果cookie不可用,客户端现在希望我使用GET。我正在这样做,但现在我面临的问题是,Facebook PHP Sdk在会话中遇到问题。它的getSession方法没有获取会话并重定向来验证用户,然后重定向回应用程序。但是在这一切中,它都会丢失GET变量PHPSESSID。以下是有一些东西类似的stackoverflow的线程,所以可能是你们以下是有帮助的。 Facebook PHP SDK getSession() fails to get session. Cookie problem?PHP会话与GET有问题的IE8和Facebook应用程序
这是曾经有GET会话如果Cookie不可代码:
ini_set('session.use_cookies_only', false);
ini_set('session.use_trans_sid', true);
session_start();
这是访问FB的代码。与PHP Sdk会议。:
$facebook = new Facebook(array(
'appId' => FACEBOOK_APPID,
'secret' => FACEBOOK_SECRET,
'cookie' => true,
));
$this->facebook=$facebook;
// We may or may not have this data based on a $_GET or $_COOKIE based session.
// If we get a session here, it means we found a correctly signed session using
// the Application Secret only Facebook and the Application know. We dont know
// if it is still valid until we make an API call using the session. A session
// can become invalid if it has already expired (should not be getting the
// session back in this case) or if the user logged out of Facebook.
$this->session = $facebook->getSession();
请告诉你是否可以给我任何线索。
感谢大家
实际上,如果我使用Cookie进行会话,它可以正常使用Facebook应用程序,而当我使用GET而不是Cookie来使用会话时,这是问题,这是因为客户端需要该应用程序。如果IE浏览器在某些未知的情况下不接受cookies,则可以使用。 Howevera非常感谢你的帮助,如果我找不到更好的解决方案,我会考虑这种方式,因为我认为我也可以第一次接触到我的会话,因为它是第一次接受fb。 Cookie和基于GET的会话问题从第二次开始。 – Hafiz
你是对的,在你的地方,在这个背景下,而我的问题实际上是Kohana会议的问题,因为我已经想通了。请同时尝试在那里帮助我,我也在stackoverflow上提出了这个问题,并邀请你在你的linkedin上解决这个问题。并感谢在这个问题上的帮助。 – Hafiz