質問

PHPを使用してログイン認証を作成します。要件は次のとおりです。1つのユーザー名アカウントが同時にログインできません。これが発生した場合、最初のログインユーザーは自動的にログアウトする必要があります。 Yahoo Messengerのように。コンセプトは実際にはどうですか?、PHPでこれを行うための最良のトリックは何ですか?

ありがとうございました。

役に立ちましたか?

解決

データベースに最後のログインのセッションIDを保存する必要があります。ユーザーが次回にログを記録すると、古いセッションを無効にし、新しく作成したセッションIDをデータベースに保存します。例えば:

$old_sess_id = /* read saved session ID from database */;
session_id($old_sess_id);
session_start();
session_regenerate_id(true); // "true" deletes old session
$new_sess_id = session_id();
/* store new session ID in database */

他のヒント

カサブランカは正しい...

さらに、古いセッションと新しいセッションの両方を保存する必要はありません。 DBに1つのセッションを用意してください。ユーザーがセッション値を更新してログインしたとき。チェックセッションのコード後。以前のログインは自動的に無効になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top