告诉HN:Cloudflare 在切换域名服务器时静默注入分析脚本
摘要
Hacker News 用户报告称,在使用 Cloudflare 的 DNS 代理服务时,它会静默向网站注入分析脚本,引发隐私和未经同意修改网站的担忧。
几个小时前,我将域名服务器切换到 Cloudflare,以便通过我自己的子域启用 R2 存储桶服务,结果发现它在我的纯 HTML 无 JS 网站 textlog.cc 中静默注入了一个 JS 分析代码片段。我不得不访问分析仪表板,将网站添加到分析中,然后<i>禁用</i>该代码片段。我认为这种方法完全具有侵入性,你应该选择加入此类功能,而不是不得不选择退出。只是提醒那些可能不知道此事的人。
查看缓存全文
缓存时间: 2026/08/16 21:47
# 告诉HN:当你切换域名服务器时,Cloudflare会悄悄注入其分析代码
来源:https://news.ycombinator.com/item?id=49322107
https://news.ycombinator.com/vote?id=49323348&how=up&goto=item%3Fid%3D49322107
是的,我之前已经明确关闭了所有分析功能。但有几个网站用了Cloudflare的缓存服务。现在我发现所有网站都出现了这种情况。这太恶劣了,无法接受。"缓存"不等于"修改我的网站"。
https://news.ycombinator.com/vote?id=49323755&how=up&goto=item%3Fid%3D49322107
如果你只是用Cloudflare做DNS解析,但HTTPS连接是直接到你的服务器,它如何注入HTML?
你肯定是在让Cloudflare终止你的HTTPS连接;也就是说,你使用了他们的实际代理服务。
https://news.ycombinator.com/vote?id=49323848&how=up&goto=item%3Fid%3D49322107
这让我想起以前那些免费托管商,他们会在托管的页面上注入自己的脚本/广告。但他们的实现方式是在检测到HTML结束标签(`</body>`还是`</html>`,记不清了)之后才注入,并且有各种绕过技巧,比如省略标签(浏览器不在乎)、随机大小写标签(有些服务会硬编码小写或大写并进行大小写敏感比较),以及修改内容类型并依赖浏览器正确检测,因为他们不会注入到其他类型中(不确定现在的浏览器会如何处理这种情况)。
https://news.ycombinator.com/vote?id=49323239&how=up&goto=item%3Fid%3D49322107
> 在我的纯HTML无JS网站textlog.cc中注入了JS分析代码片段
Cloudflare*注入恶意代码*到一个他们甚至没有托管的网站?如果是HTTPS,他们到底怎么做到的?
这是否违反了《计算机欺诈与滥用法》中“超越授权访问”的条款?
https://news.ycombinator.com/vote?id=49323338&how=up&goto=item%3Fid%3D49322107
最可能的答案是,此人无意中开启了Cloudflare反向代理,却不明白自己在做什么。
如果仅仅是DNS托管,Cloudflare不太可能这么做,单就这一点来说,因为这会破坏太多东西。
https://news.ycombinator.com/vote?id=49323883&how=up&goto=item%3Fid%3D49322107
当你在Cloudflare DNS中设置CNAME和其他某些记录时,它默认(并且强烈不建议你禁用)设置为“代理记录”。我认为这意味着该记录指向Cloudflare拥有的主机,该主机会作为反向代理,代理你设置的任何值。因此,从控制台看起来你已经将CNAME设置到了某个值,但实际上它被设置到了不同的东西上,并通过Cloudflare透明地转发所有内容。分析代码很可能就是在这里被注入的,同时还有一系列其他Cloudflare功能。
你可以禁用这个选项,此时记录将被设置为普通DNS记录。
我理解Cloudflare代理系统的优势,但我希望他们能更清楚地说明何时使用了它,而不是假装这只是DNS功能,或者记录实际设置到了别的东西上却声称设置了某个东西。至少,这会让调试DNS问题变得更加混乱,尤其当你不是DNS专家时。
https://news.ycombinator.com/vote?id=49323805&how=up&goto=item%3Fid%3D49322107
如果是HTTPS,Cloudflare如何获得你域名的证书,以便浏览器不会警告证书不匹配?
还是说,当你把DNS交给提供商时,他们可以接管你的证书?他们可以“自签”自己的证书吗?:)
https://news.ycombinator.com/vote?id=49323355&how=up&goto=item%3Fid%3D49322107
我不记得是否有启用反向代理的设置,如果有的话,它默认是开启的,因为我没预料到反向代理也会被启用。但你也可以开启反向代理而不注入脚本。这做得太过分了。
https://news.ycombinator.com/vote?id=49323850&how=up&goto=item%3Fid%3D49322107
如果那个云图标是橙色的,那就是启用了。我相信如果你禁用它,他们甚至会警告你,很多人是无意中启用的。
https://news.ycombinator.com/vote?id=49323629&how=up&goto=item%3Fid%3D49322107
我不知道这种情况具体发生了什么,但要小心,CF和类似的服务商并非真正的DNS托管服务商。他们提供DNS,但仅仅是为了让他们的CDN产品工作,并锁定客户无法使用其他DNS托管服务。你可能合理地想要使用DNS区域进行的各种操作,他们的产品无法实现。所以,只在需要配合他们的核心服务时才使用他们。
https://news.ycombinator.com/vote?id=49322763&how=up&goto=item%3Fid%3D49322107
是的,如果启用了“网络分析”,他们会添加JS。不过我相信在我以前的网站上,我必须手动启用它。也许添加新域名时默认启用了?
https://news.ycombinator.com/vote?id=49323216&how=up&goto=item%3Fid%3D49322107
你是用CF做代理,还是仅用于DNS?我这么问是因为我刚去仪表板检查了我的域名(有些是几年前买的,有一个是几天前买的),没有一个启用了Web分析。
我把所有域名都设置为“仅DNS”,所以没有CF代理。我在想是不是这个原因?
https://news.ycombinator.com/vote?id=49323230&how=up&goto=item%3Fid%3D49322107
我刚去把它们改成了“仅DNS”,它们默认是“代理”模式,这也应该是需要选择加入的。也许我在匆忙切换域名服务器时错过了那个选项,但尽管如此...
https://news.ycombinator.com/vote?id=49323999&how=up&goto=item%3Fid%3D49322107
我同意这有点令人困惑,但如果你想想预期的默认用例——为用户启用Cloudflare CDN——就说得通了。他们期望人们使用他们的CDN。
我用他们做域名注册商,因为他们按成本价提供域名,这价格无人能比。但是,没错,如果你想不使用他们的CDN,他们确实多设置了一道步骤。
不过一旦你弄清楚了,操作相当直接,而且价格无人能及。
https://news.ycombinator.com/vote?id=49323473&how=up&goto=item%3Fid%3D49322107
在我切换时,一个简单的界面要求明确选择“启用代理”或“暂不启用”就足够了。同样也需要“启用分析”的选项。这些选项都不存在,或者很不明显,否则我肯定看到了。
https://news.ycombinator.com/vote?id=49322864&how=up&goto=item%3Fid%3D49322107
我过了一会儿才意识到这不是1.1.1.1(Cloudflare也运行这个),而是他们原始的网站DNS托管服务。
https://news.ycombinator.com/vote?id=49323768&how=up&goto=item%3Fid%3D49322107
我注意到我的网站上也有email-decode.min.js。结果发现是“电子邮件地址混淆”功能,我没料到它默认是开启的。
https://news.ycombinator.com/vote?id=49322712&how=up&goto=item%3Fid%3D49322107
当使用CF作为代理时,这不是众所周知的吗?不确定他们如果不这么做,如何提供流量/DDoS遥测数据。
https://news.ycombinator.com/vote?id=49322944&how=up&goto=item%3Fid%3D49322107
他们提供HTML服务,完全有能力在不*修改他们提供的内容*的情况下跟踪单个网页请求。
https://news.ycombinator.com/vote?id=49322970&how=up&goto=item%3Fid%3D49322107
至少有没有退出机制?CF正在挥霍他们过去十年建立的善意。
https://news.ycombinator.com/vote?id=49323481&how=up&goto=item%3Fid%3D49322107
要使用R2配合自定义子域名,不必使用Cloudflare托管的DNS。
像CDN子域名那样创建一条CNAME记录即可。
(我尚未在生产环境运行这个,结果可能因人而异。)
https://news.ycombinator.com/vote?id=49323557&how=up&goto=item%3Fid%3D49322107
谢谢你这个提醒。我确实已经开启了。Cloudflare已经切换了好几次默认设置,老实说,这让我很惊讶。
https://news.ycombinator.com/vote?id=49323333&how=up&goto=item%3Fid%3D49322107
我们使用Cloudflare隧道将分布式员工连接到中央基础设施。在隧道流量中还没见过这个,但知道在域名服务器管理的网站上会发生这种事很好。这也是审计你的CDN注入内容的另一个原因——同样适用于定期检查你的安全头。
https://news.ycombinator.com/vote?id=49322833&how=up&goto=item%3Fid%3D49322107
惊喜!中间人对中间人进行中间人攻击!这还只是开始,当你习惯了这些之后,他们会做得越来越过分,平台腐化,记得吗?
https://news.ycombinator.com/vote?id=49322943&how=up&goto=item%3Fid%3D49322107
如果不是知道实情,我有时会认为一些大科技公司只是集中化网络的幌子。
https://news.ycombinator.com/vote?id=49323084&how=up&goto=item%3Fid%3D49322107
Cloudflare已经在这么做了。一旦他们拥有了足够的垄断权力,他们就开始了一项计划,屏蔽所有未经过侵入性KYC(了解你的客户)程序的机器人。最终,他们可能也会成为普通浏览器用户的KYC代理。免费互联网结束了。
https://news.ycombinator.com/vote?id=49322686&how=up&goto=item%3Fid%3D49322107
补充你的经历:对我来说,找到禁用这个JavaScript的设置也非常困难。
https://news.ycombinator.com/vote?id=49323191&how=up&goto=item%3Fid%3D49322107
前几天也注意到了。非常可疑。我没有启用分析功能。我不得不先去启用它,才能获得关闭这个选项的权限。
https://news.ycombinator.com/vote?id=49322913&how=up&goto=item%3Fid%3D49322107
你漏掉了关键部分:你使用了他们作为反向代理,这与DNS是分开的。一个是巧合;另一个是必需的。
如果他们能注入脚本,他们也能在你不知情的情况下窃听你所有的明文流量……
https://news.ycombinator.com/vote?id=49323100&how=up&goto=item%3Fid%3D49322107
天哪,我也没有启用任何类似的功能。我只是想用域名服务器在我的子域名下提供存储桶服务。不知道还有什么其他功能?
https://news.ycombinator.com/vote?id=49323854&how=up&goto=item%3Fid%3D49322107
任何人选择Cloudflare的主要原因是为了他们的CDN(我想这是“反向代理”……虽然我不会这么称呼它,但从技术上讲,是的,这基本上就是它在做的事情)。如果你不需要CDN或任何其他花哨功能,有很多纯粹的DNS服务商(而且现在通常由域名注册商提供)。
https://news.ycombinator.com/vote?id=49323827&how=up&goto=item%3Fid%3D49322107
好吧,Cloudflare如何在不经过你服务器的情况下编辑你的HTML?
如果浏览器直接连接到你的Web服务器,怎么会有Cloudflare的分析代码?
检查一下你加载textlog.cc时连接到的IP地址。那是你控制的地址吗?如果不是你控制的地址,它从哪里获取你的页面?这不就叫代理吗?
https://news.ycombinator.com/vote?id=49323202&how=up&goto=item%3Fid%3D49322107
好的,要关闭这个,你需要去 域名 → 概览 → 你的.网站 → DNS → 记录 → 然后编辑每个条目为“仅DNS”(灰色云朵)。中间人攻击现在消失了(希望如此)。
https://news.ycombinator.com/vote?id=49322966&how=up&goto=item%3Fid%3D49322107
确实如此。我有几个域名只用CF做DNS,它们不能也不会向这些网站注入任何东西。
相似文章
@IntCyberDigest: 突发:Anthropic 已在 Claude Code 中嵌入类似间谍软件的隐藏代码,暗中针对中国用户。然后它……
本文称,Anthropic 在 Claude Code 中嵌入了类似间谍软件的隐藏代码,通过将路由元数据注入提示来暗中针对中国用户,引发了严重的隐私担忧。
Cloudflare 即将默认屏蔽五分之一的网络上的AI代理。我在科技圈外交谈的人中没人知道这件事即将发生。为什么没人讨论它?
Cloudflare 将从9月15日起默认在广告支持的页面上屏蔽AI代理和训练机器人,并引入机器人身份验证。这可能对AI开发者和较小参与者的网络访问产生重大影响。
Show HN: Fortress – 一款隐身Chromium引擎,让你的代理不再被屏蔽
Fortress 是一款隐身Chromium引擎,它在C++层面修改浏览器指纹,帮助爬虫和浏览器代理避免被诸如Cloudflare Turnstile、CreepJS和Sannysoft等机器人检测器检测。它可作为Playwright和Puppeteer的即插即用CDP替代方案。
Ask HN: Crooked Timber 给我显示了一个病毒验证码,现在该怎么办?
一位 Hacker News 用户讲述自己差点被一个假冒的 Claude 下载链接所骗,该链接展示了恶意验证码。用户批评了谷歌的搜索排名、Safari 隐藏的 URL 路径以及 Anthropic 在其主域名下托管用户内容等因素。
Tell HN:UCEPROTECT 正在敲诈网站所有者
Hacker News 发帖者指控 UCEPROTECT 将整个托管服务商的 ASN(如 DigitalOcean 的 ASN 14061)列入黑名单,并以每月 30 美元(或每年 108 美元)的价格为无辜网站提供白名单服务,这影响到了依赖该黑名单的 Orange 等移动运营商的用户。