2012-03-13 5 views
0

これを読んでくれてありがとう。私の問題はこのようになります。Site2がPHPの他のサーバー上のセッションを持っているかどうかを確認する方法

  1. (SITE1)私は私のAPPのID

  2. (SITE2)Serverは、APP IDと、 "ログインしたユーザー" の現在の$ _SESSIONを取得します(文句を言わないWORK)

  3. でカールを経由してサーバーを呼び出しますJSON {「user_token」:「12312312312」}を返しaccess.phpの
  4. (SITE2)

  5. (サイト1)は、JSONを読み込み、それを解析し、user_tokenがNULLであるならば、私は他のログインボタンを表示し、私は、ユーザープロフィールを示します。

$ _SESSIONが現在のセッションを与えていないため、これは機能しません。

これを回避する手段はありますか?

ありがとうございます!

答えて

0

あなたのcURLコールは、サイト2の正しいセッションに属しているとは見なされません。これは、セッションIDを送信しなかったためです。これは、CookieまたはURLにあります。 SIDが与えられていない場合、要求をセッションに関連付ける方法はありません。大豆のOUにいる:

  • サイト1の要求にサイト2上のユーザーのセッションIDを取得します。これにはかなり重い配管が必要です。
  • サイトでサイト1
  • までお電話1セッションIDを抽出し、SITE2がアクセスできるようにするためにcURLの要求
0

のためにそれを使用するには、このセッションIDを含めますセッション情報を取得するには、site2が期待するクッキーを渡す必要があります。 Cookieは、セッションを追跡するために使用されます。

curlを使用すると、ヘッダー付きのCookieを渡すことができます。

curl_setopt($ch, CURLOPT_COOKIE, "cookiename=cookievalue"); 

また、クッキージャーまたはクッキーを使用することもできます。

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFileLocation); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFileLocation); 
関連する問題