做个人作品集网站的人,几乎都面临同一个尴尬:想看流量数据,就得在Google Analytics和隐私合规之间二选一。要么忍受繁琐的GDPR弹窗,要么接受统计结果严重失真——毕竟你的访客里,装广告拦截器的开发者比例高得惊人。
一位开发者找到了第三条路。Apache服务器,纯PHP环境,没有数据库,没有Node.js,没有Cookie横幅。核心方案简单到近乎粗暴:一个tracker.php文件,每次页面访问往logs/visits.tsv里写一行记录。
![]()
真正的功夫花在五个安全决策上。
![]()
第一,零Cookie。这是整个方案的法律基础。GDPR要求用户同意的前提,是在用户设备端存储个人数据(Cookie)或能够识别自然人。服务器端写日志文件,用户无感知、无操作、无法律负担。
第二,IP哈希化处理。IP地址属于个人数据,明文存储直接踩线。方案采用加盐SHA-256,截取前16位:
$ip_hash = substr(hash('sha256', ($_SERVER['REMOTE_ADDR'] ?? '') . 'cv_salt_xK9!2026'), 0, 16);
盐值让彩虹表攻击失效,截断让逆向还原不可能。既能统计独立访客,又符合法国国家信息与自由委员会(CNIL)的豁免同意建议。
![]()
第三,前置机器人过滤。Google爬虫、Bing、监控工具、Python脚本——不拦的话日志会迅速膨胀。User-Agent正则过滤掉95%的真实机器流量,伪装成人类的爬虫另当别论。
第四,日志目录禁止Web访问。即使哈希化,数据也不该暴露。.htaccess一行Deny from all,Apache挡掉所有HTTP请求,PHP内部写入不受影响。
第五,变量隔离。tracker.php通过require嵌入index.php,共享全局作用域。所有内部变量加$_前缀,脚本末尾unset()清理,避免污染或意外暴露。
这套方案牺牲了实时看板、漏斗分析、用户画像——GA4能给的它都给不了。但它换来了三件事:五分钟部署、零法律摩擦、对广告拦截器免疫的完整数据。对于只想知道"哪篇博客真的有人在看"的个人站点,这恰恰是刚好的复杂度。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.