ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使用して管理者のみにログインを許可する方法と、現在の管理者アカウントがすでにログインしている場合、他の人はログインを許可されません。
PHPを使用して管理者のみにログインを許可し、現在の管理者アカウントがログインしている場合、他の人はログインできないようにする方法! !アドバイスを求めています
PHPを使用して管理者のみにログインを許可し、現在の管理者アカウントがログインしている場合、他の人はログインできないようにする方法! !アドバイスを求めています
ログインが成功すると、ログイン時間、返信情報の有効期限、その他の情報を含むレコードがデータテーブルにすぐに挿入されます。2 人目のユーザーがログインすると、データベースが検証のためにチェックされます。
2 つの int フィールド。最初のフィールドはログイン タイムスタンプを記録します。2 番目のフィールドはログアウト タイムスタンプを記録します。現在時刻がログアウト タイムスタンプよりも大きい場合は、現在誰もログインしていないことを意味します。以前にログインしたユーザーがログアウトしていない場合、セッション内のキーの有効期限が切れているかどうかを確認します。有効期限が切れている場合は、前のユーザーが再度操作したい場合は再度ログインする必要があります。このとき、別の人もログインできます。明確にできたかどうかはわかりません
オンラインフィールドを使用して現在のユーザーステータスを記録します
管理者のみが管理できます。アカウント情報を設定するか、コードに直接記述するだけです。
の前の管理者アカウントが既にログインしている場合、他の人はログインできません私が言いたいのは、同じアカウントは同時に 1 つの場所にしかログインできないということです。
上記の 2 人が示した解決策を検討しました。 1 つは有効期間を設定することですが、これでは別の場所で「同時に」ログインする問題は解決できません。
2 つ目は、ログアウト時間を記録することです。重要なのは、それをどのように記録するかです。
リアルタイム性を確保したい場合は、ソケットを使用する必要があります
それほど厳密でない場合は、スケジュールされたアクセスを使用できます。
redis は、userId:sessionKey のキーと値のペアを保存します。各リクエストは、現在のユーザー ID に対応する sessionId が現在のセッションと一致しているかどうかを確認します。