私のlocalhostはXAMPPです。 2つのプロジェクトは基本的に同じコード、少なくともログインモジュールです。プロジェクトはCodeigniterで構築されています。localhostでは、2つの異なるプロジェクトが同じセッションを共有します
私の問題は、たとえばProject Aにログインした場合、Project Bに自動的にログインしていることがわかりました。
2つのプロジェクトは同じデータベースを使用しませんが、ログインコードは同じです。ユーザーがページにアクセスすると、最初に変数$this->session->isLoggedIn
がチェックされます。そうであれば、ページをユーザーページにリダイレクトします。彼らは同じセッションIDを使用していることがわかります。これは、同じドメインを共有しているので、ローカルホスト上で共通の問題ですか、または私は間違いを犯しましたか?
セッションを設定している間、このようなセッションを区別する必要があります。$ this-> session-> set_userdata( 'project_A_username'、 'usernamehere'); $ this-> session-> set_userdata( 'project_B_username'、 'usernamehere'); 。 PHPセッションはすべてのプロジェクトで共通です。だからあなたはこのようにdifferentaiteする必要があります – JYoThI
@JYoThIあなたが言ったように、私はセッションを区別しない場合、私のlocalhostはすべて同じセッションを共有する必要がありますか?私はあなたを正しく理解していますか?もしそうなら、ライブ環境では同じドメインの下にないので、これは起こりません。 – SSD
はい、ドメインが異なる場合は発生しません。@ SSD – JYoThI