PHP의 세션은 웹 사이트의 여러 페이지에 정보를 저장하는 방법을 제공합니다. 클라이언트 브라우저에 데이터를 저장하는 쿠키와 달리 세션 데이터는 서버에 저장됩니다. PHP에서 세션이 작동하는 방법은 다음과 같습니다.
session_start()
함수를 사용하여 수행됩니다.$_SESSION
superglobal 배열을 사용하여 저장할 수 있습니다. 예를 들어, 사용자 이름을 저장하려면 $_SESSION['username'] = 'JohnDoe';
.session_start()
호출 된 모든 페이지에서 액세스 할 수 있습니다. 예를 들어, 저장된 사용자 이름을 검색하려면 echo $_SESSION['username'];
.session_destroy()
사용하여 데이터를 지울 수 있습니다. 그러나 이것은 세션 변수를 설정하지 않습니다. 또한 session_unset()
사용하여 모든 세션 변수를 제거해야합니다.PHP의 세션과 쿠키의 주요 차이점은 다음과 같습니다.
스토리지 위치 :
보안:
크기 제한 :
수명:
용법:
납치를 방지하기 위해 PHP의 세션 데이터 확보에는 몇 가지 전략이 포함됩니다.
session_regenerate_id()
사용하여 정기적으로 또는 성공적인 로그인 후 이전 세션 ID를 무효화하고 새 세션 ID를 생성합니다. 보안 및 httponly 플래그를 설정하십시오 : JavaScript를 통한 액세스를 방지하고 HTTPS를 통해서만 전송되는지 확인하기 위해 secure
및 httponly
플래그로 세션 쿠키를 구성하십시오.
<code class="php">session_set_cookie_params([ 'lifetime' => 0, 'path' => '/', 'domain' => '', 'secure' => true, 'httponly' => true, 'samesite' => 'Strict' ]); session_start();</code>
PHP 세션의 수명은 다양한 기술을 통해 관리 할 수 있습니다.
기본 수명 :
session.gc_maxlifetime
설정으로 php.ini
파일에서 제어됩니다.세션 타임 아웃 :
php.ini
에서 session.cookie_lifetime
조정하여 특정 세션 타임 아웃 session.gc_maxlifetime
설정할 수 있습니다. 이 설정은 각각 세션 쿠키의 수명과 쓰레기 수집 기간을 제어합니다.맞춤 수명 :
session_set_cookie_params()
사용하여 세션 쿠키 수명을 설정하여 세션 수명을 프로그래밍 방식으로 관리 할 수 있습니다. 예를 들어, 세션을 1 시간 동안 지속하도록 설정합니다.
<code class="php">session_set_cookie_params(3600); // 3600 seconds = 1 hour session_start();</code>
세션 재생 :
session_regenerate_id()
로 세션 ID를 재생하면 세션 쿠키를 새로 고침하여 세션의 수명을 연장하는 데 사용될 수 있습니다.세션 만료 :
session_destroy()
호출하여 세션을 수동으로 만료하여 세션을 종료하고 데이터를 지울 수 있습니다. 또한 session_unset()
사용하면 모든 세션 변수가 제거됩니다.이러한 방법을 사용하면 PHP에서 세션 수명을 제어하고 관리하여 응용 프로그램의 요구를 충족시킬 수 있습니다.
위 내용은 PHP에서 세션이 어떻게 작동하는지 설명하십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!