2016-04-11 11 views
0

は、私は次のように設定しようとしています彼らはlogin.domain.com/?url=site1.domain.comにリダイレクトしますPHPのセッションを共有する複数のドメイン

PHPの適用ドメイン。 Im redisを使ってphp.iniセッションを設定しました。

session.save_handler=redis 
session.save_path="tcp://127.0.0.1:6379?weight=1&database=14" 

認証が成功した後。私はクッキーsession_idを設定しました。 site1.domain.comとsite2.domain.com .Im GETクッキー

$sessionid = $_COOKIE['session_id']; 
session_id($sessionid); 
session_start(); 

ユーザログイン成功

しかし、私は問題があります。 domain2.comへのクッキーの取得方法、ドメインhttps SSLアクセス方法、セキュリティー

答えて

0

できることはURLに直接セッションを渡すことです。あなたはdomain2.comにリンクする場合、いくつかの潜在的なセキュリティリスクがありますがだからあなたは(私は場合はキーポイントでIDを再生成しますので、(デフォルトからあなたのセッションIDハンドラを変更していないと仮定した場合)

domain2.com?PHPSESSID=[your session ID here] 

のようなセッションを渡します私はあなたでした)、それはあなたの問題を解決することができます。

もう1つの解決策は、セッションIDをハッシュしてRedisインスタンスに格納し、そのハッシュに基づいてセッションを設定することです。そのように少し安全です。

+0

ありがとうございます!私はソリューションのパフォーマンスを更新して見つけます。 – user1828959

関連する問題