>  기사  >  백엔드 개발  >  PHP 세션 관리_세션 세션

PHP 세션 관리_세션 세션

WBOY
WBOY원래의
2016-08-08 09:29:371097검색

1. 세션 이해

  • 세션은 사용자가 페이지에 액세스하는 순간부터 시작되어 사용자가 웹사이트 연결을 끊으면 끝나며 세션의 수명 주기를 구성합니다. 사용자가 연결할 때마다 PHP는 현재 사용자를 식별하고 다른 사용자와 구별하기 위해 고유한 SessionID를 자동으로 생성합니다.

  • 세션 중에 PHP는 기본적으로 PHPSESSIONID라는 식별자를 생성합니다(이름은 php.ini 파일에서 변경 가능). 이 식별자는 각 페이지와 함께 브라우저로 전송됩니다. 다음 페이지 요청이 웹 서버로 반환됩니다.

  • SessionID는 세션 정보로 데이터베이스에 저장되거나, 다른 사용자를 구별하기 위한 기본 키로 사용되거나, 서버 측 세션 파일 이름에서 고유 문자열로 사용될 수 있습니다.

  • 세션 중에 SessionID는 클라이언트와 서버의 두 위치에 저장됩니다. 클라이언트 측에서는 임시 쿠키가 사용되어 브라우저의 지정된 디렉토리(세션 쿠키라고 함)에 저장되며, 서버 측에서는 지정된 세션 디렉토리에 텍스트 파일 형식으로 저장됩니다.

2. 세션 시작

  • session_start() 함수를 통해 세션 생성

    bool session_start(void); 🎜> 참고: 브라우저는
    을 사용하기 전에는 어떤 출력도 생성할 수 없습니다. 그렇지 않으면 오류가 발생합니다. session_start()

  • 함수를 통해 세션 생성 session_register()

함수는 암시적으로 세션을 시작하기 위해 세션에 대한 변수를 기록하는 데 사용됩니다. 세션이지만 php.ini 파일의 옵션이 필요하고, Register_globals 지시문을 'on'으로 설정하고 Apache 서버를 다시 시작하십시오. session_register()

  • 세션 변수가 시작된 후에는 모두 전역 배열

    에 저장됩니다. 전역 배열$_SESSION[]을 통해 세션 변수를 생성하는 것은 쉽습니다. 배열에 요소를 직접 추가하기만 하면 됩니다. $_SESSION

3. 세션 적용

  • PHP의 세션은 강력합니다. 현재 사용자의 특정 데이터와 관련 정보를 저장할 수 있습니다. 배열, 객체, 문자열 등 모든 데이터 유형을 저장할 수 있습니다. Session에 다양한 형태의 데이터를 추가하기 위해서는 전역 배열

    을 적용해야 합니다. $_SESSION[]

4. 세션 삭제

  • 단일 세션 삭제

    세션 변수를 삭제하는 것은 배열 작업과 동일합니다. 단지 배열 요소에서 직접 로그아웃
    하면 됩니다. $_SESSION

    unset($_SESSION['what']);

  • 여러 세션 삭제

    모든 세션 변수를 한 번에 로그아웃하려면
    $_SESSION

    $_SESSION = array();

  • 현재 세션 종료 전체 세션이 종료된 경우 먼저 모든 세션 변수를 로그아웃한 후

    함수를 사용하여 현재 세션을 지우고 세션의 모든 리소스를 지우고 세션을 완전히 삭제해야 합니다.
    session_destroy()session_destroy();

  • 5. 세션 애플리케이션

Session을 통해 페이지 액세스 권한을 제어합니다.
  • 6. 쿠키와 세션 비교

가장 큰 차이점은

세션은 정보를 서버에 저장하고 세션 ID를 사용하여 쿠키를 전달합니다. 서버는 세션 ID를 받은 후 이 ID를 기반으로 관련 세션 정보 리소스를 제공합니다.
  • 쿠키는 클라이언트의 모든 정보를 텍스트 파일 형식으로 저장하며 브라우저에서 사용됩니다. 아웃 관리 및 유지 보수.
  • 세션은 서버에 저장되며 클라이언트 사용자는 세션 파일의 내용을 수정할 수 없습니다. 쿠키는 클라이언트 측에 저장되며 세션은 쿠키보다 훨씬 더 안전합니다.
위의 내용을 포함하여 PHP 세션 관리_Session 세션을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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