세션이 어떻게 작동하는지 살펴보겠습니다. 본인인증은 쿠키를 통해 이루어진다는 사실을 알고 계시는지 궁금합니다. 먼저, 사용자 신원을 나타내는 고유한 쿠키가 생성되어 데이터베이스에 등록됩니다. 사용자가 전달한 쿠키는 데이터베이스에 등록된 쿠키와 비교되어 사용자의 신원을 확인합니다.
세션도 같은 방식으로 작동합니다.
먼저, PHP는 사용자의 세션을 식별하기 위해 세션을 생성한 사용자에 대한 고유 문자열을 생성합니다. 이 문자열을 일반적으로 세션 ID라고 합니다. 그러면 "sess" + Session Id가 파일명(예를 들어 Session ID가 111이면 파일명은 sess_111)이 되며, 서버의 파일 시스템에 파일을 생성하고 해당 변수명과 값을 저장합니다. 파일의 세션에서 사용자가 정의한 전역 변수입니다. 그런 다음 세션 ID는 PHPSession이라는 쿠키로 사용자의 파일 시스템에 저장됩니다.
그러면 사용자가 PHP 스크립트에 접근하기 위해 다시 서버에 접속하면, PHP는 사용자가 보낸 PEESession 쿠키에서 사용자가 속한 세션의 Session Id를 가져와서 서버의 파일에서 세션 정보 파일을 저장합니다. 세션 ID를 기반으로 하는 시스템입니다. 마지막으로 마지막 연결 시 사용자가 설정한 전역 변수의 값을 이 파일에서 읽습니다.
따라서 Session의 작동 원리는 이전 섹션에서 소개한 신원 인증의 작동 원리와 동일하다는 것을 알 수 있습니다. 유일한 차이점은 Session은 정보를 서버의 파일 시스템에 저장하고 우리는 정보를 데이터베이스에 저장한다는 것입니다. 물론 Session을 사용하면 데이터의 저장과 조회가 PHP에 의해 자동으로 완료된다는 장점이 있지만, Cookie를 직접 사용하는 경우에는 데이터를 직접 저장하고 얻어야 합니다.
세션은 이용자가 웹사이트를 탐색할 때 저장해야 하는 정보를 서버에 저장하기 위해 쿠키의 식별 표시 기능을 사용합니다. 이런 방식으로 Session은 HTTP 프로토콜의 단점을 극복할 뿐만 아니라 정보 유출을 방지하며 프로그래머가 사용하기에 매우 편리한 솔루션입니다. 단, Session 기능은 PHP4에서만 지원되며, PHP3에서는 Session을 지원하지 않습니다. 따라서 PHP3를 사용하여 웹사이트를 구축하는 독자는 쿠키를 직접 사용할 수만 있습니다.
위 내용은 session.invalidate의 내용을 포함하여 session.invalidate Session의 작업 방법을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.