[PHP] #13 PHP 세션(Session)과 쿠키(Cookie) 완벽 이해하기

2025. 7. 24. 16:00·Programming/PHP
반응형

 

안녕하세요, 토스트 데브입니다.
웹사이트를 만들다 보면 사용자의 로그인 상태 유지, 장바구니 저장, 방문자 추적과 같은 기능이 필요해집니다.
이런 기능을 가능하게 해주는 핵심 기술이 바로 세션(Session)과 쿠키(Cookie)입니다.

이번 글에서는 세션과 쿠키의 개념, 차이점, PHP에서의 사용 방법을 함께 알아보겠습니다.

 

✅ 세션(Session)이란?

세션은 사용자가 웹사이트에 접속한 뒤, 서버 측에 저장되는 일시적인 정보 공간입니다.
서버는 사용자를 구별하기 위해 세션 ID를 발급하고, 이 ID를 바탕으로 데이터를 유지합니다.

📦 예시: 로그인 상태, 사용자 장바구니, 관리자 권한 등

 

🔹 세션 사용 예제

<?php
session_start();  // 세션 시작

$_SESSION["username"] = "toastdev";
echo "안녕하세요, " . $_SESSION["username"] . "님!";
?>

📌 session_start()는 세션을 사용하기 전에 무조건 호출해야 합니다.
세션 데이터는 $_SESSION 배열로 저장하고 불러옵니다.

 

🔹 세션 삭제하기

<?php
session_start();

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

 

 

✅ 쿠키(Cookie)란?

쿠키는 사용자(클라이언트)의 브라우저에 저장되는 정보입니다.
작은 텍스트 파일 형태로 저장되며, 서버가 아닌 사용자 측에서 관리됩니다.

📦 예시: 아이디 자동 저장, 다크모드 설정, 최근 본 상품 등

 

🔹 쿠키 생성 (설정)

<?php
setcookie("user", "toastdev", time() + 3600);  // 1시간 유효
?>

 

  • 첫 번째 인자: 쿠키 이름
  • 두 번째 인자: 쿠키 값
  • 세 번째 인자: 만료 시간 (time()은 현재 시간)

 

🔹 쿠키 읽기

<?php
if (isset($_COOKIE["user"])) {
  echo "안녕하세요, " . $_COOKIE["user"] . "님!";
}
?>

 

 

🔹 쿠키 삭제

setcookie("user", "", time() - 3600);  // 유효기간을 과거로 설정

 

 

✅ 세션 vs 쿠키 비교

항목 세션(Session) 쿠키(Cookie)
저장 위치 서버 클라이언트(브라우저)
데이터 보안 상대적으로 안전함 노출 가능성 있음
유지 시간 브라우저 종료 시 기본 삭제 유효기간 지정 가능
용량 제한 제한 없음(서버에 따라 다름) 보통 4KB 이하
사용 예시 로그인, 장바구니 자동 로그인, 최근 설정

 

✅ 언제 세션을 사용하고, 언제 쿠키를 사용할까?

  • 보안이 중요한 데이터(예: 로그인 정보) → 세션 사용
  • 기억만 하면 되는 간단한 설정값(예: 사용자명, 다크모드) → 쿠키 사용

 

✨ 마무리

✔ 세션은 서버에, 쿠키는 클라이언트에 저장됩니다.
✔ 세션은 보안에 적합, 쿠키는 단기 저장에 유용합니다.
✔ $_SESSION과 $_COOKIE 배열을 통해 데이터에 접근합니다.
✔ 세션을 사용하려면 반드시 session_start()를 호출해야 합니다.

 

 

#PHP세션 #PHP쿠키 #세션과쿠키 #웹개발기초 #코딩입문 #프로그래밍기초 #로그인세션 #쿠키설정 #toastdev #웹개발보안 #PHP기초 #서버세션 #클라이언트쿠키

반응형
저작자표시 비영리 (새창열림)

'Programming > PHP' 카테고리의 다른 글

[PHP] #15 PHP로 JSON 응답처리, 파싱부터 API 응답까지 완벽 정리!  (2) 2025.07.26
[PHP] #14 PHP로 XML 응답 처리 하는 방법, 외부 데이터 읽기 및 파싱 가이드!  (0) 2025.07.25
[PHP] #12 PHP 폼 데이터 입력 검증 및 보안, 안전한 웹 개발의 시작  (0) 2025.07.23
[PHP] #11 PHP 폼 데이터 처리, GET과 POST 처리 방식까지 완벽정리!  (2) 2025.07.22
[PHP] #10 PHP 함수(Function), 정의, 호출, 매개변수, 변환값, 배열 변환까지 완벽 정리!  (0) 2025.07.21
'Programming/PHP' 카테고리의 다른 글
  • [PHP] #15 PHP로 JSON 응답처리, 파싱부터 API 응답까지 완벽 정리!
  • [PHP] #14 PHP로 XML 응답 처리 하는 방법, 외부 데이터 읽기 및 파싱 가이드!
  • [PHP] #12 PHP 폼 데이터 입력 검증 및 보안, 안전한 웹 개발의 시작
  • [PHP] #11 PHP 폼 데이터 처리, GET과 POST 처리 방식까지 완벽정리!
TOASTDEV
TOASTDEV
인스턴트 코딩 #토스트데브 #토스트뎁 #코딩공부 #개발입문
  • TOASTDEV
    토스트뎁
    TOASTDEV
    • 분류 전체보기 (59) N
      • 알쓸신잡 (20)
        • 코딩에 대하여 (13)
        • 컴퓨터에 대하여 (5)
        • IT 국내외 소식 (2)
      • Web Front (6)
        • HTML (6)
        • CSS (0)
        • JavaScript (0)
      • Programming (15)
        • PHP (15)
      • Database (7) N
        • SQL (7) N
        • MySQL (0)
      • Server (11) N
        • Linux (11) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Youtube Toastdev
    • Naver Blog
  • 공지사항

    • [유튜브] 유튜브 영상 업로드 안내
  • 인기 글

  • 태그

    ubuntuserver
    php
    서버관리
    php기초
    리눅스기초
    코딩입문
    웹개발입문
    SQL문법
    서버입문
    리눅스서버
    코딩기초
    SQL강의
    ict
    SQL기초
    코딩공부
    php코딩
    웹개발
    데이터베이스
    ubuntu서버
    웹프로그래밍
    php문법
    html기초
    프론트엔드
    우분투서버
    dbms
    HTML
    웹개발기초
    php입문
    sql
    데이터분석
  • 최근 댓글

  • 최근 글

  • 전체
    오늘
    어제
  • 반응형
  • hELLO· Designed By정상우.v4.10.3
TOASTDEV
[PHP] #13 PHP 세션(Session)과 쿠키(Cookie) 완벽 이해하기
상단으로

티스토리툴바