ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して、複数のユーザーが 1 つのアカウントに同時にログインできないようにするにはどうすればよいですか?
変更要件: アカウントにログインした後、他のユーザーはそのアカウントに再度ログインできます。 QQ 異常ログインと同じように、現在のアカウントは強制的にオフラインになります。誰か具体的な実装アイデアを教えてください。 ?
変更要件: アカウントにログインした後、他のユーザーはそのアカウントに再度ログインできます。 QQ 異常ログインと同じように、現在のアカウントは強制的にオフラインになります。誰か具体的な実装アイデアを教えてください。 ?
トークンを生成してデータベースに保存し、セッションに書き込みます。操作中にセッショントークンとデータベースを比較し、異なる場合はログアウトします。
「他のユーザーがこのアカウントに再度ログインすると、現在のアカウントは強制的にオフラインになります」これは、時間内に行うか、リフレッシュ(http リクエストを再度送信する)後に行うかです。
前者はソケットやハートビート パケットのような長い接続を必要とします。
@xfspace は、次以降の操作についても明確にしました。
ログインするたびに、Cookie検証用にランダムなトークンが生成されます。
ログインごとに生成されるトークンも異なります。
ただし、ユーザーが直接コピーした場合は無効になることに注意してください。クッキーをローカルエリアネットワークに挿入し、別のコンピュータのブラウザで使用すると、サーバー側を特定するのが困難になります。
それほど面倒ではありません。
1. 新しいトークンテーブルを作成します。
フィールド: token (トークン、通常は 8 つのランダムな文字列で十分です)、uid (このサイトのユーザー ID)、expiresIn (有効期限)