PHP 쿠키, PHP 세션

(2018-06-21)

PHP Session ID, PHP 쿠키 세션

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 배열
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 소프트웨어
      7.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
        2.   자바(Java)
        3.   자바스크립트
        4.   PHP
          1.   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 배열
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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