2011-07-14 8 views
1

私はFacebookのアプリケーションを開発しています。私はクッキーとセッションを使用していた、それはすべて正常に動作していた。突然、IE8はCookieにいくつかのエラーがあります。それはiframe内にあったので、私のサイトをブロックしていました。だから私はP3Pヘッダーについて知るようになった。私はそれを正しく使用し、問題を解決しました。しかし、クライアントは、クッキーが利用できない場合、私はGETを使用したいと考えています。私はそれをやろうとしていますが、今はfacebook PHP Sdkがそのセッションで問題を抱えているという問題に直面しています。そのgetSessionメソッドはセッションを取得せず、ユーザーを認証してからアプリケーションにリダイレクトするようにリダイレクトします。しかし、これはGET変数PHPSESSIDを失います。以下は、stackoverflowのスレッドにはいくつかのものが似ているので、あなたの次の人が役に立つかもしれません。 Facebook PHP SDK getSession() fails to get session. Cookie problem?IE8とFacebookアプリケーションに問題があるGETのPHPセッション

これはクッキーが利用できない場合、GETとのセッションを持っているために使用されるコードです:

ini_set('session.use_cookies_only', false); 
ini_set('session.use_trans_sid', true); 

session_start(); 

これはFBにアクセスするためのコードです。 PHPとのセッション:

 $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(); 

私に手がかりを与えることができるかどうか教えてください。

ありがとうございました

答えて

1

これはFacebookのAPIで終わりのない問題のようです。そこにセッション機能がランダムにブレークし、あなたはそれについて多くを行うことができます。私のアプリケーションで通常やっていることは、Cookieを無効にして、自分のアプリケーションSESSIONにFacebookのセッションを保存することです。 SESSIONのチェックに応答可能な各要求に対して呼び出される親コントローラがあります。有効なSESSIONが見つかると、それはfacebookのセッションオブジェクトに設定されます。これにより、getSession()の呼び出し時に有効なセッションが返されます。

+0

実際にはセッション用のCookieを使用している場合はfacebookアプリで問題なく動作しますが、クライアントがセッションを使用するためにCookieではなくGETを使用すると問題になります。いくつかの未知の事例でIEがクッキーを受け入れない場合に働くこと。あなたが助けてくれてありがとうと思っています。私がもっと良い解決策を見つけられないならば、私はこの方法を検討します。 CookieとGETベースのセッションの問題は2回目から始まります。 – Hafiz

+0

私の問題は実際に私が考え出したようにコナナセッションの問題である間に、あなたはあなたのところにあります。また、私はそこに助けてください、私はまたstackoverflowの質問をして、あなたのlinkedinで解決するように招待している。この質問に助けてくれてありがとう。 – Hafiz

関連する問題