クライアントのWebサイトの1つで、2人のユーザーのセッションが交換されているように見える問題に直面しています。私はCodeIgniterを使用しており、次の構成になっています。
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
昨日、ユーザーの1人がすべてのページでセッションを再生成するという問題に直面していました。追加の予防措置として、セッションテーブルのUser-Agentデータベースフィールドのサイズを増やし、上記のmatch_ipをTRUEに切り替えました。
今日、2人のユーザーがログインしているようで、それぞれが相手の名前としてヘッダーに「WelcomeX」メッセージを表示しています。残念ながら、この情報はクライアントからしか取得できないため、セッションが(ローカルおよびオンラインで)正常に機能しているように見えるため、問題をデバッグしたり、マシンに複製したりすることはできません。
誰かが私がさらにデバッグする方法、私の状況を知っている方法、または問題が何であるかについての提案や洞察を持っていますか?追加してみました:
$this->session->sess_destroy();
$this->session->sess_create();
ユーザーロギングについてですが、それが問題になる可能性があるかどうかはわかりません。
もちろん、実際のログインコードに問題がないことも再確認しました...ただし、POSTから電子メールとパスワードを取得し、データベースで一致するレコードを見つけるだけです。これは通常の手順です。