[PHP] 8장 세션과 쿠키

img1.daumcdn.png

1. 쿠키(Cookie)

쿠키는 웹 브라우저에 저장되는 작은 데이터 파일로, 사용자의 정보를 저장하고 관리하는 데 사용됩니다. 쿠키는 클라이언트 측에서 저장되며, 서버와 클라이언트 간의 상태를 유지하는 데 도움을 줍니다. 쿠키의 특징으로는 다음과 같습니다.

 

  • 쿠키의 특징
    • 저장 위치: 사용자의 웹 브라우저에 저장
    • 유효 기간: 쿠키는 만료 날짜를 설정할 수 있으며, 만료된 쿠키는 자동 삭제
    • 크기 제한: 쿠키의 크기는 보통 4KB로 제한
    • 보안: 쿠키는 클라이언트 측에서 수정할 수 있어 민감한 정보를 저장하는데 주의
  • 쿠키의 설정
    • 이름, 값, 만료 시간, 경로
setcookie('username', 'JohnDoe', time() + (86400 * 30), "/"); // 30일 간 유효

 

  • 쿠키 읽기
<?
 setcookie("koras02", "King", time() + (86400 * 30), "/") // 30일 동안 유효
?>
<? 
  if(isset($_COOKIE["username"])) {
    echo "Hello, " . $_COOKIE["username"];
  }  else {
    echo "Not Setting Cookie!";
  }
?>
  • 쿠키 삭제
 setcookie("username", "", time() - 3600, "/"); // 쿠키 삭제

2. 세션(Session)

세션은 서버 측에서 사용자 정보를 저장하는 방법으로, 사용자가 웹 사이트를 탐색하는 동안 상태 정보를 유지합니다. 세션은 각 사용자에게 고유한 ID를 부여해 해당 사용자와 관련된 데이터를 저장합니다.

 

  • 세션의 특징
    • 저장 위치: 서버 측에 저장되며, 서버가 세션 데이터를 관리
    • 유효 기간: 기본적으로 세션은 브라우저가 닫힐 때까지 유효하나, 특정 시간 이후 자동 만료
    • 보안: 세션 데이터는 서버에 저장되므로 클라이언트에서 직접 수정할 수 없음
  • 세션 시작
session_start(); // 세션 시작
  • 세션 변수 설정
<?php
  session_start(); // 세션 시작
  // 세션 변수 설정
  $_SESSION["username"] = 'Koras02';

  if (isset($_SESSION["username"])) {
    echo "Hello, " , $_SESSION["username"]; 
  } else {
    echo "no Session Setting!";
  }
?>
  • 세션 삭제
<?php
  session_start(); // 세션 시작
  // 세션 변수 설정
  $_SESSION["username"] = 'Koras02';

  if (isset($_SESSION["username"])) {
    echo "Hello, " , $_SESSION["username"]; 
  } else {
    echo "no Session Setting!";
  }

  // 세션 삭제
  session_unset(); // 모든 세션 변수 삭제
  session_destroy(); // 세션 종료
?>

3. 쿠키와 세션의 차이점

특징 쿠키 세션
저장 위치 클라이언트(브라우저) 서버
데이터 크기 보통 4KB로 제한 제한 X
보안 비교적 낮음 비교적 높음
유효 기간 설정 가능 브라우저 종료 시 만료
성능 클라이언트에서 데이터 전송 서버에서 데이터 관리

 

 

GitHub - Koras02/php-tutorial

Contribute to Koras02/php-tutorial development by creating an account on GitHub.

github.com

 

LIST