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