PHP 쿠키, PHP 세션

(2018-06-21)

PHP Session ID

1. PHP 쿠키쿠키 : 사용자 웹브라우저정보 마다 모두 저장할 필요

  ㅇ 쿠키 설정 : setcookie(이름,값,만료시간,허용경로,도메인);
     - 형식 : setcookie(name, value, expire, path, domain, secure, httponly);
        . 이름 : 쿠키로 설정할 이름
        . 값 : 배열 또는 숫자에 한 함 (복잡한 배열,데이터 구조는 불가능)
        . 만료시간(선택) : 0 => 기본(웹브라우저 종료시), 
                           통상 => time() + 60*60 (즉, 1 시간)
        . 허용경로(선택) : / => 기본(해당 서버 내 모든 웹페이지의 요청에 쿠키 허용),
                           /~경로명/ => 홈 디렉토리 하부의 경로를 좀더 자세히 제한 설정 가능
        . 도메인(선택) : 지정된 도메인서버쿠키 요청 가능토록 제한

  ㅇ 쿠키 읽음 : $_COOKIE 배열 변수를 이용

  ※ [유의할점]
     - 원칙적으로, 단일 웹페이지에서 쿠키 셋팅 및 읽음을 동시에 할 수 없으나
     - 다음과 같이 다시읽기하면 가능함
        <meta http-equiv="refresh" content="0; url=다시읽혀질웹페이지">


2. PHP 세션세션 값(ID) : PHP Session ID
     - PHPSESSID 라는 쿠키 값을 이용함
        .  클라이언트들을 식별하고,
        . 각  클라이언트별로 데이터 집합을 분리하고 유지하게 됨 
     - 사용자 웹브라우저에는 단지 이 키 값(PHPSESSID) 만 저장

  ㅇ PHP 세션 관리
     - 각 세션 마다(세션 ID 별로), 하나의 파일로 생성,저장,관리됨
     - 웹서버 내 저장 디렉토리 : session.save_path (php.ini)
        . (Windows 경우 디폴트) %TEMP% 또는 C:\Windows\Temp
     - URL 사용자 디렉토리 : session.cookie_path (php.ini)

  ㅇ PHP 세션 유효기간 (php.ini 에서 설정)
     - session.cookie_lifetime (권장: 0, 브라우저 종료시까지 유효)
     - session.gc_maxlifetime (권장: 1440 초)
        . 이후 다음 두 값의 비(比)에 따른 확률에 의해 유효기간 정해짐
        . 확률 = (session.gc_probability) / (session.gc_divisor)

  ㅇ 세션 정보의 확인
     - $_SESSEION 배열 변수를 이용
        . 동일 사이트 내 웹 페이지 간에도 정보를 공유할 수 있음


3. PHP 쿠키세션 비교

  ㅇ 단일 쿠키로 하나의 정보 씩을 유지관리하기에는, PHP 쿠키가 유리하나,
  ㅇ  클라이언트의 성향을 추적하는 복수의 많은 데이터 모음을 유지관리하려면, 
  ㅇ PHP 세션을 이용하는 것이 유리함


[PHP] 1. PHP 2. PHP 함수 3. PHP 및 HTTP 4. PHP 정규표현식 5. PHP 문자열 활용 6. PHP 쿠키/세션 7. PHP 내장 웹서버 8. PHP 환경 설정 9. PHP 변수 자료형 10. PHP 파일시스템 함수 11. PHP 객체지향 12. PHP 배열

 
        최근수정     요약목록(시험중)     참고문헌