>백엔드 개발 >PHP 문제 >PHP에서 반복 로그인을 금지하는 방법

PHP에서 반복 로그인을 금지하는 방법

藏色散人
藏色散人원래의
2021-05-17 09:27:292567검색

PHP에서 반복 로그인을 금지하는 방법: 1. 현재 열려 있는 브라우저 세션의 ID를 얻습니다. 2. 데이터베이스의 session_id가 현재 session_id와 동일한지 확인합니다. 일치하지 않으면 점프하여 로그인해야 합니다. 다시.

PHP에서 반복 로그인을 금지하는 방법

이 문서의 운영 환경: 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)

PHP에서 반복 로그인을 금지하는 방법

첫 번째 상자: 현재 열려 있는 브라우저 세션의 ID를 얻고 다음 고유 session_id 삽입 및 업데이트를 준비합니다. in the Database

두 번째 상자: 데이터베이스의 session_id가 현재 session_id와 동일한지 확인하고, 그렇지 않은 경우 현재 데이터베이스의 session_id를 업데이트하고, 같으면 프런트엔드 ajax

에 직접 3을 반환합니다. PHP에서 반복 로그인을 금지하는 방법

index.php 인터페이스에서 이 상자는 현재 session_id()가 데이터베이스의 session_id와 같은지 여부를 나타냅니다. 동일하지 않으면 현재 계정이 이미 로그인되어 있으며 session_id가 같지 않아 점프하고 다시 로그인해야 합니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 반복 로그인을 금지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.