📌 코드 흐름 요약
- 쿠키 이름 지정→ 방문 횟수를 저장할 쿠키 이름을 visitCount로 설정
- $cookieName = 'visitCount';
- 현재 쿠키 값 확인→ 쿠키가 있으면 숫자로 변환, 없거나 잘못된 값이면 0으로 초기화
- $current = isset($_COOKIE[$cookieName]) && ctype_digit($_COOKIE[$cookieName]) ? intval($_COOKIE[$cookieName]) : 0;
- 방문 횟수 증가→ 현재 값에 1을 더해 새로운 방문 횟수 계산
- $next = $current + 1;
- 쿠키 저장 (보안 옵션 포함)
- setcookie($cookieName, strval($next), [ 'expires' => time() + 365*24*60*60, // 1년 유지 'path' => '/', // 사이트 전체에서 사용 가능 'secure' => (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'), // HTTPS에서만 전송 'httponly' => true, // JS 접근 불가 (보안 강화) 'samesite' => 'Lax' // 크로스사이트 요청 제한 ]);
- 결과 출력→ 화면에 방문 횟수를 표시
- echo "당신의 방문 횟수: {$next}회";
<?php
// 쿠키 이름 지정
$cookieName = 'visitCount';
// 현재 쿠키 값 확인 (숫자면 변환, 없거나 잘못된 값이면 0으로 초기화)
$current = (isset($_COOKIE[$cookieName]) && ctype_digit($_COOKIE[$cookieName]))
? intval($_COOKIE[$cookieName])
: 0;
// 방문 횟수 증가
$next = $current + 1;
// 쿠키 저장 (보안 옵션 포함)
setcookie(
$cookieName,
strval($next),
[
'expires' => time() + 365 * 24 * 60 * 60, // 1년 유지
'path' => '/', // 사이트 전체에서 사용 가능
'secure' => (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'), // HTTPS에서만 전송
'httponly' => true, // JS 접근 불가 (보안 강화)
'samesite' => 'Lax' // 크로스사이트 요청 제한
]
);
// 결과 출력
echo "당신의 방문 횟수: {$next}회";
?>
🎯 최종 동작
- 처음 방문 시 → 당신의 방문 횟수: 1회
- 다시 방문 시 → 쿠키 값이 증가하여 2회, 3회 … 계속 누적
- 쿠키는 1년 동안 유지되며, 보안 옵션(secure, httponly, samesite)으로 안전하게 관리됨
👉 이렇게 정리하면, 이 코드의 목적은 사용자 브라우저에 쿠키를 저장해 방문 횟수를 누적 기록하고 출력하는 것이에요.
'PHP Tip' 카테고리의 다른 글
| /* 페이징 스타일 복원 + 반응형 */ (0) | 2025.12.18 |
|---|---|
| 오버레이가 있는 반응형 이미지 갤러리(그누보드) (0) | 2025.12.17 |
| 임대 서버 환경에서 트래픽을 줄이고 사이트 성능을 최적화하려면(그누보드) (0) | 2025.12.16 |
| 이미지 src 추출 (0) | 2025.12.14 |
| Apache의 에서 User-Agent 기반으로 특정 봇을 차단하는 방식입니다. (0) | 2025.12.14 |