直接答案:25 个首页共 900 条 HTML 注释、29.1 KB,中位每站 20 条、最多 110 条。其中 7 站共 8 条注释含邮箱地址,1 站 4 条含本地路径或内网主机,2 站 5 条带 CMS 特征,15 站共 160 条是注释掉的 HTML;超过 300 字符的长注释 15 条,分布在 7 站;TODO/FIXME 与版本号均为 0。本文只发布计数,不发布注释内容、邮箱或路径。
注释不会显示给访客,但会随源码交付给每个访问者,也常被采集器与人工排查读到。
方法:把 HTML 注释全部取出来分类
2026-11-09 02:40–02:41,对第 4 期 25 个缓存 200 首页实时请求 HTML,用正则取出所有 <!-- … --> 注释,按内容打标:邮箱、本地路径/内网主机、TODO、作者标记、版本号、CMS 特征、注释掉的 HTML、长注释(超过 300 字符)。只记录计数,不保存或发布注释正文。
| 标记 | 判定 | 边界 |
|---|---|---|
| 邮箱 | 注释中出现 name@domain.tld | 不验证可达性,不公布地址 |
| 本地路径 / 内网主机 | 盘符路径、/home/、/var/www、localhost、127.0.0.1、192.168./10./172.16–31. | 普通站内路径如 /about/ 不计 |
| 注释掉的 HTML | 注释内出现 <tag …> | 不判断是模板还是废弃内容 |
| 长注释 | 单条超过 300 字符 | 按字符数近似体积 |
结果:注释人人都有,敏感内容集中在少数站
| 指标 | 数量 | 站点数 |
|---|---|---|
| HTML 注释 | 900 | 25 |
| 注释体积 | 29.1 KB | — |
| 含邮箱地址 | 8 | 7 |
| 含本地路径 / 内网主机 | 4 | 1 |
| 含 CMS 特征 | 5 | 2 |
| 含作者标记 | 1 | 1 |
| 注释掉的 HTML | 160 | 15 |
| 长注释(>300 字符) | 15 | 7 |
| TODO / FIXME | 0 | 0 |
| 版本号字样 | 0 | 0 |
数量分布很不均匀:9 站少于 10 条、3 站 10–19 条、5 站 20–49 条、6 站 50–99 条、2 站达到 110 条。体积则与条数脱钩——E04 只有 7 条注释却有 5.7 KB,E08 用 49 条占 4.9 KB;E11 的 110 条里同时出现 4 条路径/主机与 4 条 CMS 特征。
值得单独看的是邮箱:7 站共 8 条注释含地址,多数是模板里的联系邮箱;是否仍在收信、是否为个人邮箱,本文都无法确认,因此不公布地址,只公布计数。注释掉的 HTML 更普遍:15 站共 160 条,旧价格、旧链接或隐藏栏目可能仍留在源码里。
对验收的启示
- 构建时统一剥离注释。 900 条、29.1 KB;排除 IE 条件注释后,压缩器一条配置即可清掉。
- 邮箱不要写进注释。 7/25 站命中;发布前用
@与域名规则扫一遍源码,表单与角色邮箱替代个人邮箱。 - 清理注释掉的 HTML。 160 条、15 站;旧价格与旧链接留在源码里,既增体积也容易误导人工排查。
- 上线前查 staging 痕迹。 本地路径/内网主机命中 1 站 4 条,属于模板或配置残留,优先级高于体积优化。
- 把 grep 清单写进验收。
<!--、@、localhost、192.168.、C:\、TODO、powered by。企业官网验收可参考网站建设服务。
局限
- 只读 HTML 注释:不含 JS/CSS 文件中的注释,那需要单独抓取资源。
- 正则是近似:邮箱、路径与 CMS 特征按字面匹配,可能有个别误报或漏报。
- 不验证可达性:不发送邮件,也不判断地址是否真实存在;不公布任何地址或路径内容。
- 单次抓取:页面可能因时间、AB 测试或登录态不同而变化。
- 25 站 pilot:同一批装备企业样本,不外推行业。
数据与复算
匿名数据:equipment-homepage-comments-2026.csv(25 行 × 13 列:注释数、KB、邮箱/路径/TODO/作者/版本/CMS/注释标记/长注释计数与时间)。仓库内为 docs/research/2026-11-homepage-comments.csv。
解析:scripts/comment_probe.py;单元测试 scripts/test_content_comment_probe.py(13 项,无网络)。运行:
python -m unittest scripts.test_content_comment_probe
配套:首页 HTML 体积组成 pilot、首页隐私入口与分析脚本、首页资源清单 pilot。
数据来源与口径
- 样本:第 4 期 25 个缓存为 200 的首页。
- 抓取:2026-11-09 02:40–02:41 Asia/Shanghai,串行,站间 0.5 秒,超时 15 秒。
- 注释:正则
<!--([\s\S]*?)-->,未闭合注释不计。 - 标记:邮箱、路径/内网主机、TODO、作者、版本、CMS、HTML 标记、长注释,定义见上表。
常见问题
注释里出现邮箱算漏洞吗?
不算漏洞,属于可被采集的信息暴露。本期 7 站共 8 条注释含邮箱,但无法确认地址是否真实可达,也不公布具体地址。
为什么把“注释掉的 HTML”单列?
15 站共 160 条注释里保留了 HTML 标记,旧价格、旧链接或隐藏栏目可能仍在源码中;它们不影响视觉,但会增加体积并可能误导人工排查。
构建时剥离注释会破坏功能吗?
一般不会。需要排除 IE 条件注释(<!--[if)以及少数依赖注释占位的脚本模板,其余注释可以安全移除。
29.1 KB 的注释算多吗?
占首页 HTML 的比例因页而异。本期 E04 只有 7 条注释却占 5.7 KB,说明“条数少”不等于“体积小”,两者要分开看。
为什么不统计 JS/CSS 注释?
本轮只读 HTML 文档中的注释;脚本和样式表文件里的注释需要单独抓取资源,另做一期。
数据能复核吗?
可以。公开 CSV 25 行 × 13 列;scripts/comment_probe.py 有 13 项离线单测。