告诉HN:Cloudflare 在切换域名服务器时静默注入分析脚本

Hacker News Top 新闻

摘要

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,它们不能也不会向这些网站注入任何东西。

相似文章

Tell HN:UCEPROTECT 正在敲诈网站所有者

Hacker News Top

Hacker News 发帖者指控 UCEPROTECT 将整个托管服务商的 ASN(如 DigitalOcean 的 ASN 14061)列入黑名单,并以每月 30 美元(或每年 108 美元)的价格为无辜网站提供白名单服务,这影响到了依赖该黑名单的 Orange 等移动运营商的用户。