计数器编号现在会对两张表都做检查
这里的每个计数器都有一个编号。它写在嵌入代码里、写在统计页地址里,也写在站长贴过它的每一个页面上。编号是这样发出去的:在 100 到 9 999 999 999 之间取一个随机数,然后检查它有没有被占用。 检查的是一张表。 另外那张表 长期没有访问记录的计数器会被移进一张归档表。这是普通的整理工作——它让活动表保持小巧,让针对它的查询保持快速。2026 年 8 月 24…
一个密码在低配硬件上要花多少
这里的统计页面可以加密码保护。给这个密码算哈希,是本服务里唯一一个应该慢的操作——正是它让一份被偷走的哈希变得难以攻破。问题只是:在这台硬件上,慢到什么程度。 在运行本站的那台机器上实测,PHP 8: PASSWORD_DEFAULT560 毫秒(解析为 cost 12) cost 12595 毫秒 cost 11277 毫秒 cost 10138 毫秒 cost 10138…
网站目录里的备份就是源码泄漏
动一个大文件之前,很自然的一步是先复制一份。cp index.php index.php.改之前,然后开工。如果这个文件躺在 Web 服务器对外发布的目录里,你刚刚把自己的全部源代码变成了可以当纯文本下载的东西——数据库凭据、密钥,文件里碰巧有的一切。 Apache 让 index.php 走 PHP,是因为它以 .php 结尾。index.php.改之前 不以 .php…
一个看起来像 Perl 的语言代码
2026年8月19日,我们在.htaccess里加了一条规则,用来拦截一类绝不应该被直接提供给浏览器的文件:编辑之后遗留在网站根目录里的源代码副本——比如index.php.bak、一个散落的config.py,或者任何带脚本扩展名、访客有可能以纯文本形式获取到源代码而不是让它运行起来的文件。…
排除名单为什么不做哈希
正在建站的人,一天要打开自己的站二十次。在一个每月四十位访客的计数器上,统计的一半就是你。所以有一个设置:不要统计来自我自己地址的访问。 本服务的其他每一处,地址都会连同一个保密的盐和日期一起哈希,地址本身从不进入存储。唯独这一处,它按你输入的样子原样保存,明文。这是一个有意为之的决定,它值得被说出来,而不是留给人去发现。 最先试过的那个版本…
在 HTTPS 页面上使用你的计数器
你的网站使用 HTTPS。访客能看到一个小锁图标。然后你粘贴进了来自另一个网站的东西,小锁图标消失了——或者你粘贴的东西干脆就不出现了。 这就是混合内容问题,值得花十分钟弄清楚,因为它会悄无声息地破坏很多旧的嵌入式小组件。 浏览器对此做了什么 一个通过 HTTPS 加载的页面,不允许悄悄地通过明文 HTTP…