Tell HN:Cloudflare 在你切换 nameserver 时会悄悄注入其分析脚本
Cloudflare 因在使用其反向代理/CDN 的网站中自动注入基于 JavaScript 的 Web Analytics beacon 而受到批评,即便站点所有者以为自己已禁用分析或只想使用 DNS 服务。评论者认为,这种“中间人”式内容修改破坏了信任,引发隐私与 GDPR 方面的问题,并体现了偏向 Cloudflare 数据收集、而非用户同意的暗黑模式默认设置。另一些人反驳说,TLS 终止和内联修改本就是 Cloudflare 核心代理服务的一部分,指出该功能可以关闭,并建议想要避免此类更改保证的用户,应彻底避开基于代理的 CDN。
Cloudflare 做了什么
- Cloudflare 现在会在使用代理的站点中注入一个 JavaScript beacon(
cloudflareinsights.com),为其实时用户测量(RUM)“Web Analytics”和 Observatory 工具提供支持。 - 该功能在免费套餐中默认开启;付费套餐则需要手动启用。
- 一些用户表示 Web Analytics 显示为已禁用,但却必须先启用它,才能找到关闭 beacon 的选项。
注入何时发生(代理 vs DNS)
- 只有当 Cloudflare 作为反向代理工作时才会发生注入(橙色云 / “Proxied” 记录);纯 DNS(灰色云)则不会。
- 对于代理记录,TLS 在 Cloudflare 处终止,因此它可以查看并修改传输中的 HTML 响应。
- 许多用户并不知道自己已启用代理,或者觉得界面/初始默认设置令人困惑,或明显偏向开启代理。
用户反应与信任担忧
- 许多人认为脚本注入是严重的信任违背,尤其是对刻意保持无 JS 或重视隐私的网站而言。
- 有人称这是 MITM 行为,并将其比作老式免费主机注入广告;也有人认为这正是使用会终止 TLS 的 CDN 的内在结果。
- 还有人担心“enshittification”:今天是分析,明天可能就是广告或更具侵入性的修改。
隐私、法律与 GDPR 讨论
- Cloudflare 的博客和控制面板显示,此功能默认排除欧盟/英国流量;全局启用是可选的。
- 关于 GDPR 合规性存在争论:
- 一方认为他们不存储 IP 和欧盟数据,因此风险较低。
- 另一方指出,网站所有者仍对他们甚至可能并不知晓的第三方跟踪承担法律责任。
- 如果隐私政策没有提到这类跟踪,现有政策可能是不准确的,这一点也引发担忧。
关闭选项、缓解措施与替代方案
- 可通过 Analytics → Web Analytics → RUM 设置按域名禁用 RUM。
- 将 DNS 记录设为 “DNS Only” 会阻止 Cloudflare 触碰负载,但也会禁用 CDN/WAF 功能。
- 一些技术性对策,如 CSP 或
Cache-Control: no-transform,被指出在 Cloudflare 可以重写响应时并无效果。 - 有人建议使用其他 DNS/CDN 提供商,并警惕不必要地使用 Cloudflare,尤其是小型网站。
对 Cloudflare 做法的辩护
- 有人认为 RUM 是一个合理的免费功能,符合 Cloudflare 作为代理的角色,并且对性能调试有价值。
- 也有人强调,免费用户就应当预期数据收集,而运营者必须持续了解自己基础设施的选择。