PHP에서 반복 로그인을 금지하는 방법: 1. 현재 열려 있는 브라우저 세션의 ID를 얻습니다. 2. 데이터베이스의 session_id가 현재 session_id와 동일한지 확인합니다. 일치하지 않으면 점프하여 로그인해야 합니다. 다시.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
php는 사용자가 반복적으로 로그인하는 것을 방지합니다.
먼저 세션의 몇 가지 설정을 이해하겠습니다.
ini_set('session.auto_start',0);
Set 세션 자동 시작을 끄려면
ini_set('session.cookie_lifetime',0);
브라우저가 닫힐 때 세션이 만료되도록 설정하세요. 기본적으로 세션은 이와 같습니다.
ini_set('session.gc_maxlifetime',3600);
브라우저가 종료될 때 세션 지속 시간을 설정할 필요가 없습니다. 닫히지 않음
위 설정을 아실 텐데요, 그렇다면 오늘의 내용을 이해해 보도록 하겠습니다. 사용자가 계정에 로그인할 때마다 브라우저를 열면 session_id가 자동으로 생성되고(유효 기간 내 고유) 이 고유 ID를 사용자 테이블에 저장합니다(현재 세션은 로그인할 때마다 업데이트됩니다). 계정 사용자 테이블의 session_id 값) 이런 방식으로 로그인 후 모든 인터페이스는 현재 브라우저의 session_id()가 데이터베이스 사용자 테이블의 session_id와 일치하는지 확인해야 하며, 일치하지 않으면 현재 계정이 온라인 상태임을 표시합니다. 그의 로그인을 거부하려면 다시 로그인해야 합니다. (즉, 한 번에 한 명의 사용자만 로그인할 수 있습니다. 나중에 로그인하는 사용자는 이전에 계정에 로그인한 사용자를 압도하게 됩니다.)
자세한 내용은 코드를 살펴보겠습니다. 이 트윗의 코드와 관련되지 않은 다른 코드에 대해 자세히 알아보세요. La)
첫 번째 상자: 현재 열려 있는 브라우저 세션의 ID를 얻고 다음 고유 session_id 삽입 및 업데이트를 준비합니다. in the Database
두 번째 상자: 데이터베이스의 session_id가 현재 session_id와 동일한지 확인하고, 그렇지 않은 경우 현재 데이터베이스의 session_id를 업데이트하고, 같으면 프런트엔드 ajax
에 직접 3을 반환합니다.
index.php 인터페이스에서 이 상자는 현재 session_id()가 데이터베이스의 session_id와 같은지 여부를 나타냅니다. 동일하지 않으면 현재 계정이 이미 로그인되어 있으며 session_id가 같지 않아 점프하고 다시 로그인해야 합니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 반복 로그인을 금지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!