쿠키를 삭제하는 올바른 방법은?

과목: PHP

문제 번호: 2955

hard
쿠키를 삭제하는 올바른 방법은?
// 현재 시각: 2024년 1월 15일
// 기존 쿠키: setcookie("user", "John", time() + 86400, "/");
A. deletecookie("user")
B. setcookie("user", NULL, time() + 86400, "/")
C. setcookie("user", "", time() - 3600, "/")
D. unset($_COOKIE["user"])

정답: C



쿠키 삭제는 과거 시간을 만료 시간으로 설정하여 수행합니다.

⦁ 쿠키 삭제 원리:
⦁ 브라우저는 만료된 쿠키를 자동으로 삭제
⦁ 과거 시간을 만료 시간으로 설정하면 즉시 만료
time() - 3600: 1시간 전 (확실한 과거 시간)

⦁ 다른 옵션들의 문제점:
⦁ 옵션 1: PHP에 deletecookie() 함수는 없음
⦁ 옵션 2: 미래 시간 설정으로 삭제 안됨
⦁ 옵션 4: 서버 변수만 제거, 브라우저 쿠키는 남음

⦁ 완전한 삭제 코드:
// 1. 브라우저에서 쿠키 삭제
setcookie("user", "", time() - 3600, "/");

// 2. 현재 스크립트에서도 제거 (선택사항)
unset($_COOKIE["user"]);

⦁ 실무 주의사항:
⦁ 쿠키 생성 시와 동일한 경로, 도메인 설정 필요
⦁ 즉시 삭제되지만 현재 페이지에서는 $_COOKIE 배열에 여전히 존재
⦁ 페이지 새로고침 후부터 완전히 사라짐

💡 학습 팁

이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.