웹 개발에서 사용자 상태 관리 및 보안 로그인은 매우 중요하며 PHP는 강력한 세션 및 쿠키 관리 기능을 제공합니다. 세션은 서버 측에서 사용자 상호 작용을 추적하는 데 사용되며 쿠키는 클라이언트 측에서 사용자 정보를 저장합니다. 이 기사는 PHP에서 이러한 기능을 사용하여 안전한 사용자 상태 관리 및 로그인을 달성하는 방법을 자세히 설명합니다.
PHP의 세션 함수를 사용하려면 먼저 세션을 시작하려면 세션 _start () 함수를 호출해야합니다. 세션은 본질적으로 서버와 클라이언트 간의 상호 작용을 식별하는 고유 한 세션 ID입니다. PHP 세션 정보는 기본적으로 서버의 임시 디렉토리에 저장됩니다. 물론 저장 경로를 사용자 정의 할 수도 있습니다.
<span class="fun">session_start ();</span>
세션 데이터는 PHP의 $ _session hyperglobal 변수에 저장됩니다. 지속 해야하는 사용자 정보를 저장할 수 있습니다.
<span class="fun">$ _session [ 'username'] = 'John';</span>
저장된 세션 데이터는 $ _session Hyperglobal 변수를 통해 얻을 수 있으며 해당 키 이름을 사용하여 해당 세션 값에 액세스 할 수 있습니다.
<span class="fun">$ username = $ _session [ 'username'];</span>
Unset () 함수를 통해 세션 데이터를 삭제하면 키 이름을 지정하여 해당 세션 변수를 제거 할 수 있습니다.
<span class="fun">Unset ($ _ session [ 'username']);</span>
PHP는 setCookie () 기능을 제공하여 쿠키를 설정합니다. 쿠키의 이름, 값, 만료 시간 및 경로와 같은 매개 변수를 설정할 수 있습니다.
<span class="fun">setCookie ( 'username', 'John', time () + 3600, '/');</span>
$ _cookie hyperglobal 변수를 통해 쿠키의 값을 얻을 수 있습니다.
<span class="fun">$ username = $ _cookie [ 'username'];</span>
로그인 검증은 사용자 신원을 보장하는 핵심 단계입니다. 일반적으로 사용자가 제공 한 사용자 이름과 비밀번호는 데이터베이스의 레코드와 비교해야합니다. 확인이 성공한 후 세션과 쿠키를 설정할 수 있습니다.
<span class="fun">if ($ _server [ 'request_method'] = 'post') {<br> $ username = $ _post [ 'username']; <br> $ password = $ _post [ 'password']; <br> <br> // 수행 <br> // ... <br> // set session and cookies는 <br> $ _ $ _SENSETION을 수행합니다. $ username; <br> setCookie ( 'username', $ username, time () + 3600, '/'); <br>}</span>
액세스에 로그인이 필요한 페이지에서 세션 및 쿠키를 확인하여 사용자가 이미 로그인되어 있는지 확인할 수 있습니다. 사용자가 로그인되지 않은 경우 로그인 페이지로 리디렉션해야합니다.
<span class="fun">if (! isset ($ _ session [ 'username']) &&! isset ($ _ 쿠키 [ 'username'])) {<br> header ( '위치 : login.php'); <br> exit; <br>}</span>
로그 아웃 할 때는 사용자가 시스템에서 완전히 로그 아웃되도록 세션 및 쿠키의 사용자 정보를 지워야합니다.
<span class="fun">unset ($ _ session [ 'username']); <br> setcookie ( 'username', '', time () -3600, '/');</span>
PHP 세션 및 쿠키 기능을 합리적으로 사용하면 사용자의 상태 관리 및 보안 로그인을 쉽게 달성 할 수 있습니다. 세션은 사용자의 세션 상태를 추적하는 데 사용되며 쿠키는 클라이언트에 필요한 사용자 정보를 저장합니다. 이 두 가지를 결합하면 웹 응용 프로그램의 보안 및 사용자 경험을 효과적으로 향상시킬 수 있습니다.