PHP 로그인 시스템의 안전한 "Remember Me" 기능을 위한 영구 쿠키
소개
PHP 로그인 시스템에서 "기억하기" 기능을 구현하려면 보안 쿠키를 저장해야 합니다. 사용자의 브라우저. 이 쿠키를 사용하면 사용자는 브라우저를 닫거나 기기를 다시 시작한 후에도 로그인 상태를 유지할 수 있습니다.
데이터베이스 구조
기억정보를 안전하게 저장하려면 다음 위치에 별도의 테이블을 생성하세요. 데이터베이스:
CREATE TABLE `auth_tokens` ( `id` integer(11) not null UNSIGNED AUTO_INCREMENT, `selector` char(12), `token` char(64), `userid` integer(11) not null UNSIGNED, `expires` datetime, PRIMARY KEY (`id`) );
선택기와 토큰 필드는 나를 기억하는 데 사용됩니다.
로그인 후
사용자가 로그인하고 "기억하기" 옵션을 선택하면 무작위 선택기(12자)와 인증기(33자)가 생성됩니다. bytes) Random_bytes() 함수 또는 유사한 방법을 사용하여 무작위성을 보장합니다.
다음을 사용하여 Remember Me 쿠키를 설정합니다. 코드:
setcookie( 'remember', $selector . ':' . base64_encode($authenticator), time() + 864000, // expires in 10 days '/', 'yourdomain.com', true, // TLS-only true // http-only );
선택기, 해시된 인증자, 사용자 ID 및 만료 시간을 auth_tokens 테이블에 삽입하세요.
페이지 로드 시 재인증
다음 페이지 로드 시 사용자가 아직 로그인하지 않았고 Remember Me 쿠키가 set:
세부 정보
위 내용은 영구 쿠키를 사용하여 PHP 로그인 시스템에서 "Remember Me" 기능을 안전하게 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!