首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP Cookie 瀏覽次數計數器實作教學

     編輯:PHP 相關知識

功能簡介

利用 Cookie 記錄使用者瀏覽次數,於瀏覽器端持久化儲存(預設 1 年),每次造訪遞增並顯示。適合簡易訪客統計、個人化歡迎訊息、未登入用戶行為追蹤。

完整程式碼

歡迎您第 $visitTimes 次光臨本站!
";

關鍵函式解析

函式/變數說明
$_COOKIE['VisitTimes']超全域變數,自動解析請求標頭 Cookie: VisitTimes=5
setcookie(name, value, expire, path, domain, secure, httponly)在回應標頭送出 Set-Cookie,必須在任何輸出前呼叫
time() + 31536000過期時間戳(Unix timestamp),31536000 = 365*24*3600 秒
'/' (path)整個網域路徑有效
false (secure)非 HTTPS 也傳送;正式站建議 true 強制 HTTPS
true (httponly)JavaScript 無法讀取 document.cookie,防 XSS 竊取

進階應用場景

  1. 首次訪問引導:if ($visitTimes === 1) show_welcome_tour();
  2. 最近瀏覽商品:Cookie 存 JSON 陣列 ['pid'=>123, 'time'=>...],上限 10 筆
  3. 語言/幣別偏好:setcookie('lang', 'zh-TW', ...),優先於 Session/資料庫
  4. 購物車未登入持久化:Cookie 存 cart=[{'id':1,'qty':2}],登入時合併至資料庫
  5. A/B 測試分桶:setcookie('ab_group', 'A', ...),固定使用者版本

Cookie 限制與注意事項

  • 大小限制:單一 Cookie ≤ 4KB,總數每域名約 50-180 個(瀏覽器差異)
  • 同源策略:子域名預設不共享,需設定 domain=.example.com
  • 用戶可刪除/封鎖:隱私模式、Cookie 清理工具、GDPR 同意條幅影響可用性
  • 不適用敏感資料:Session ID、Token 僅作識別,實際資料存 Server 端
  • 編碼問題:值含特殊字元需 urlencode(),讀取時 urldecode()

與 Session 比較

特性CookieSession
儲存位置瀏覽器端伺服器端(檔案/Redis/DB)
容量~4KB較大(受記憶體/磁碟限制)
生命週期可設定持久瀏覽器關閉預設銷毀(可延長)
安全性可被竄改/竊取較安全(僅傳遞 Session ID)
適用場景偏好設定、追蹤、未登入狀態登入狀態、購物車、敏感資料

GDPR/隱私法規合規

  1. 首次造訪顯示 Cookie 同意條幅,分類說明(必要/分析/行銷)
  2. 提供拒絕非必要 Cookie 選項,拒絕時不寫入追蹤類 Cookie
  3. 隱私權政策頁面說明 Cookie 用途、保存期限、第三方共享
  4. 定期清理過期 Cookie,資料最小化原則
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved