Home >Backend Development >PHP Problem >How to prohibit repeated login in php

How to prohibit repeated login in php

藏色散人
藏色散人Original
2021-05-17 09:27:292568browse

How to prohibit repeated login in PHP: 1. Obtain the ID of the currently opened browser session; 2. Determine whether the session_id in the database is equal to the current session_id. If they are not equal, you need to jump to log in again.

How to prohibit repeated login in php

The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer

php prevents users from logging in repeatedly

Let’s first understand a few settings of the session:

ini_set('session.auto_start',0);

Set to turn off the automatic start of the session

ini_set('session.cookie_lifetime',0);

Set the session to be invalid when the browser is closed. The session is like this by default, no need to Settings

ini_set('session.gc_maxlifetime',3600);

Set the duration of the session when the browser is not closed

You probably know the above settings, so let’s start to understand today’s content. Whenever a user logs in to an account, he opens a browser and a session_id is automatically generated (unique within the validity period), and then we store this unique ID into the user table (the current session is updated every time he logs in) The value of session_id in the account user table). In this way, all interfaces after logging in need to determine whether the session_id() of the current browser is consistent with the session_id of the user table of the database. If they are inconsistent, it will show that the current account is online, and you need to log in again before you can reject his login. . (That is, only one user can log in at a time. Users who log in later will crowd out users who logged in to the account earlier)

For details, let’s take a look at the code: (For other codes that are not related to the code of this tweet, I I won’t go into details)

How to prohibit repeated login in php

The first box: get the id of the currently open browser session and prepare for the following insertion and update of the only session_id in the database

Second box: Determine whether the session_id in the database is equal to the current session_id. If they are not equal, update the session_id in the current database. If they are equal, return 3 directly to the front-end ajax

How to prohibit repeated login in php

In the index.php interface, this box indicates whether the current session_id() is equal to the session_id of the database. If not, it means that the current account has already logged in, and the session_id is not equal, and you need to jump again. Log in.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to prohibit repeated login in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn