新的隐私政策、条款和数据处理协议
截至2026年8月19日,stats4u.net的法律文件从原本的一份变成了三份:一份重新撰写的隐私政策、一份服务条款,以及——新增的——一份依据GDPR第28条订立的数据处理协议(DPA)。 为什么需要单独的DPA…
一个看起来像 Perl 的语言代码
2026年8月19日,我们在.htaccess里加了一条规则,用来拦截一类绝不应该被直接提供给浏览器的文件:编辑之后遗留在网站根目录里的源代码副本——比如index.php.bak、一个散落的config.py,或者任何带脚本扩展名、访客有可能以纯文本形式获取到源代码而不是让它运行起来的文件。…
每一次都把同一个文件压一遍
Apache 是即时压缩响应的。对一个每次都不一样的页面来说,这是唯一的办法。对一个一个月才改一次的样式表来说,这意味着服务器为每一位访客把同样的活儿重做一遍,一做几个星期,而且每次都把结果扔掉。这件事没有缓存。 2026 年 8 月 19 日在一条已建立的连接上实测,用的是本站自己的 style.css(124 kB)和 world.js(102 kB): 时间 字节…
排除名单为什么不做哈希
正在建站的人,一天要打开自己的站二十次。在一个每月四十位访客的计数器上,统计的一半就是站长本人。所以有一个设置:不要统计来自我自己地址的访问。 本服务的其他每一处,地址都会连同一个保密的盐和日期一起哈希,地址本身从不进入存储。唯独这一处,它按输入时的样子原样保存,明文。这是一个有意为之的决定,它值得被说出来,而不是留给人去发现。 最先试过的那个版本…
比字段还长的页面地址
2026 年 8 月 9 日,有二十张计数器图片没能画出来。不是画错了,也不是画得慢——访客在本该有计数器的位置什么也没拿到。 原因是一个超过 255 个字符的页面地址。现在它在写入时就被截断,计数器图片不再取决于告诉它的那个地址有多长。 这条链 记录一次访问落在哪个页面上的那个字段是 varchar(255)。地址来的时候比这更长。插入以 SQLSTATE 22001…
关于页面上撤下了什么,以及为什么
旧的关于页面上有一份功能清单。重建这个页面时,把清单逐行对着软件读了一遍,有四条已经对不上了。其中一条已经对不上好几年。 它们已经撤下。这里写明它们是什么,因为默默删掉不如给出解释 — 也因为那个页面上的清单现在是对着代码核对的,而不是对着它自己的上一版。 屏幕分辨率…
关于页面上的数字从哪里来
关于页面顶部现在有六个数字:此刻在线人数、昨日访客数、使用中的计数器数量、过去三十天内的国家数、可供选择的样式数量,以及这项服务开始的年份。这六个数字全部来自正在运行的系统本身,其中有两个会在这个页面显示的过程中实时变动。 这一点值得说明一下,因为这类页面上的数字,往往并不是真正意义上的数字。 每个数字的来源…
页眉和页脚现在通到两边
本站每个页面上都能看到的一个小改动:顶部的深色横条和底部的页脚,现在都会撑满整个窗口的宽度。 在今天之前,它们和其他所有内容一样被限制在同一个1180像素的列里,所以在宽屏幕上,页面看起来就像一条内容悬浮在大片空白背景中。统计页面上的页脚此前已经是全宽的——它是唯一的例外,而正是这种不一致促成了这次改动。 没有改变的部分…
浏览量、每日访客数与计数器累计值:各个数字代表什么?
计数器图片、每日访客报表和时段合计可能显示不同数字,而并无故障。比较之前,应先核对指标、时段和计数器编号。Stats4U 测量请求,并用每日标识减少重复计数;它不会识别具体个人。 计数的请求 每日标识符 每日访问者 示意性示例,非实测访问量:共享同一个每日标识符的 3 个计数请求可产生 3 个页面浏览量和 1 个每日访问者。每日访问者并非经验证的个人。 确认所比较的数字…
解读来源域名,不猜测缺失的流量来源
来源域名报告描述的是实际传递到 Stats4U 的来源信息。它并非所有访问途径的完整清单,一行记录也不必然代表一个独立的人。有效分析应区分来源域名、被计数的页面,以及主动标记的推广活动链接。 检查时段和指标 区分来源与目的地 为计划中的链接添加活动标记 检查报告实际收到的信息…
以正确权限和时段将 Stats4U 报告导出为 CSV 或 JSON
统计页面上的 CSV 和 JSON 链接可下载报告,供进一步处理。应先打开有权访问的统计页面,选择目标时段,再使用当前下载链接。导出不会绕过私密统计或密码保护,下载后的文件也需要妥善处理。 使用所需权限打开统计页面 选择日期和文件格式 核对文件并安全保存 通过统计页面下载…
不用 JavaScript 的动画计数器
这里相当一部分计数器样式是会动的。数字会自己往上跳动,面板会自己描绘出来,或者有什么东西会落定到位。 它们都不用一行JavaScript。 原理是什么…