ホームページ  >  記事  >  バックエンド開発  >  PHPで重複ログインを禁止する方法

PHPで重複ログインを禁止する方法

藏色散人
藏色散人オリジナル
2021-05-17 09:27:292532ブラウズ

PHP で繰り返しログインを禁止する方法: 1. 現在開いているブラウザ セッションの ID を取得します; 2. データベース内の session_id が現在の session_id と等しいかどうかを確認します。等しくない場合は、をクリックして再度ログインします。

PHPで重複ログインを禁止する方法

#この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター

php により、ユーザーは繰り返しログインできなくなります

まず、セッションのいくつかの設定を理解しましょう:

ini_set('session.auto_start',0);

セッションの自動開始をオフに設定します

ini_set('session.cookie_lifetime',0);

ブラウザを閉じたときにセッションが無効になるように設定しますデフォルトではセッションはこのようになっており、設定する必要はありません

ini_set('session.gc_maxlifetime',3600);

ブラウザが閉じていないときのセッションの継続時間を設定します

上記の設定についてはご存知かと思いますので、理解していきましょう今日の内容。ユーザーがアカウントにログインするたびにブラウザが開き、session_id が自動的に生成され (有効期間内で一意)、この一意の ID がユーザー テーブルに保存されます (現在のセッションはログインするたびに更新されます)。アカウント ユーザー テーブルの session_id の値)。このようにして、ログイン後のすべてのインターフェイスは、現在のブラウザの session_id() がデータベースのユーザー テーブルの session_id と一致しているかどうかを判断する必要があります。一致していない場合は、現在のアカウントがオンラインであることが示され、彼のログインを拒否するには、再度ログインする必要があります。 (つまり、一度にログインできるユーザーは 1 人だけです。後でログインするユーザーは、以前にアカウントにログインしたユーザーを排除します)

詳細については、コードを見てみましょう: (このツイートのコードに関係のない他のコード、詳細は説明しません)

PHPで重複ログインを禁止する方法

最初のボックス: 現在開いているブラウザ セッションの ID を取得します。そして、データベース内の唯一の session_id の次の挿入と更新の準備をします

2 番目のボックス: データベース内の session_id が現在の session_id と等しいかどうかを確認します。等しくない場合は、現在の session_id を更新します。等しい場合は、フロントエンドに直接 3 を返します ajax

PHPで重複ログインを禁止する方法

index.php インターフェイスでは、このボックスは現在の session_id() が次と等しいかどうかを示します。データベースの session_id。そうでない場合は、現在のアカウントがすでにログインしていて、session_id が等しくないことを意味するため、もう一度ジャンプする必要があります。ログインします。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPで重複ログインを禁止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。