所以Reddit认为纯HTML不安全
摘要
Reddit现在要求登录才能使用其旧版设计(old.reddit.com),理由是对滥用爬虫和自动化流量的安全担忧,这让喜欢更简洁界面的用户感到失望。
<p><a href="https://lobste.rs/s/gqdvdt/so_reddit_has_decided_plain_html_is_unsafe">评论</a></p>
查看缓存全文
缓存时间: 2026/07/22 10:20
# 所以 Reddit 认为纯 HTML 不安全了
来源:https://www.cole-k.com/2026/07/21/reddit/
Reddit 现在要求登录才能使用它的旧版设计,理由是为了“安全”。
## Reddit 这家公司
如果你不知道 Reddit,它基本上就是许多热门论坛的宿主。和那些鼓励你“为了猫咪而来,为了同理心而留”的公司一样,Reddit 似乎也在致力于从这些论坛中榨取尽可能多的价值,同时又不会完全摧毁它们。毕竟,仅仅培育社区对于新技术来说不是一个足够崇高的目标,而且对 Reddit 来说幸运的是,在 LLM 时代,真正由人类生成的数据现在就是黄金。欢迎阅读上次他们决定从自己社区中“摘取肝脏”的故事(https://en.wikipedia.org/wiki/Reddit_API_controversy)。
## Reddit 这个搜索结果
虽然我不再愿意与 Reddit 互动,但我偶尔还是会访问它,尤其是在 LLM 时代。这是因为在搜索词后面加上`site: reddit.com`基本上是一种确保找到由真人撰写的结果的可靠方法。清楚地说,我仍然觉得这很理想。
## 现在需要登录……大概吧
昨天做了这样的搜索后,让我“欣喜若狂”的是,我看到了这个:
Reddit 现在要求登录才能使用它的旧版设计,理由是为了“安全”。
我想这让我显得老了,但我用的是 Reddit 的原始前端,`old.reddit.com`。我会极力忍住不去宣扬为什么它是更好的前端,但它就只是个设计而已! Reddit 的一种设计。
瞧,我知道我是边缘用户。我用 Firefox。我用 NoScript!对于被迫离开一个本来很好用的产品,因为有人决定不再支持那仅剩的两个用户,我并不陌生。
- 我用了 8 年的手机就遭遇过这种事,顺便说一句它运行良好,但操作系统太陈旧了。愿它在小小的荣耀中安息。
- 我用了 10 年的平板也遭遇过,它比我的手机还好用,电池续航也棒,原因相同。
- Stack Exchange 的 API 也遭遇过,我这个早已从应用商店下架的旧版应用所用的 API。这个最让我心痛。1 (https://www.cole-k.com/2026/07/21/reddit/#fn:1)
我觉得让我感到不爽的是,Reddit 说这一切都是
> 为了保持 Reddit 的安全
到底是为了保护 Reddit 免受**谁**的侵害?我吗?我对知识的渴望吗?
## 安全到底是什么?
那么,让我们去看看公告里他们怎么说。我当然没看到,因为我不读 Reddit 了:https://old.reddit.com/r/modnews/comments/1ujtebf/logging_in_to_use_old_reddit/。希望你登录了。
> 旧版 Reddit 的未登录体验是平台上恶意爬取和自动化流量的重要来源。
嗯,好吧。但是为什么新版 Reddit 仍然可以在未登录状态下访问?哦,有人问了这个问题。
> [\[问题\]](https://old.reddit.com/r/modnews/comments/1ujtebf/comment/ouqdhue/):新版 Reddit 有什么不同之处,以至于没人试图爬取它?在我看来,最好也在旧版 Reddit 上实现同样的措施。此外,这不是会让人们转而尝试爬取新版 Reddit 吗? [\[管理员回复\]](https://old.reddit.com/r/modnews/comments/1ujtebf/comment/ouqfw38/):我正要回答,但看到 u/Nestramutat- 在另一个评论中给出了非常精辟的回答! [\[评论(节选)\]](https://old.reddit.com/r/modnews/comments/1ujtebf/comment/ouqdknu/):……关于你的第一个问题,恶意流量的形态总是在变化。这就像一场永无止境的猫鼠游戏,你封杀一种方法,就会产生新的方法。事后辨别恶意流量很容易,但预先阻止它更难。鉴于他们声称旧版 Reddit 没有现代安全堆栈,这个挑战可能更大了……
所以它没有“现代安全堆栈”。虽然我可能没有真正获得“全栈”的资格,但我**可以**右键点击并选择*检查元素*,所以我认为我有足够的资格来理解为什么。
## 旧版 vs 新版
## 旧版 Reddit
让我们先——不情愿地——登录看看`old.reddit.com`到底有多不安全。我会用他们的公告帖子来做测试。啊,舒服多了。
让我们看看旧版 Reddit 做了什么让它如此不安全。我猜测,他们那宝贵的、由用户创建的内容是以纯 HTML 形式呈现的,因为旧版 Reddit 基本上就干这个:你甚至不需要 JS,除非你想加载更多评论(问我怎么知道的)。
旧版 Reddit 进行了 33 次页面请求,总计约 1 MB。加载大约需要 2 秒。
它下载了大约 1 兆字节,发送了大约半兆字节。这里没显示,但页面的 HTML 本身占了大部分响应。我见过更糟的,但加载时间是怎么回事?GitHub 加载它那庞大的有效负载速度大约是它的 4 倍(相对于大小而言)。
旧版 Reddit 加载一个 HTML 页面需要 2 秒。
哦……等待回复整整 2 秒。闻起来像是速率限制。还是说 Reddit 一直这么慢?
让我们加载更多评论。(Reddit 初始时不会加载所有评论)
旧版 Reddit 快速而精简地加载更多评论。
好吧,这很精简,而且相当迅速。我没看到我的秘密被嗅探。我得到的只是旧版 Reddit 是一个相当普通的网页,我想正是这一点让它相比之下显得“不安全”……
## 新版 Reddit
让我们看看新版 Reddit 为什么好得多。如果你有不切实际的期望,让我来纠正它们:没有 JavaScript(JS),新版 Reddit 不会加载帖子本身以外的任何内容。这可能就是它更安全的原因。
新版 Reddit 进行了 112 次请求,加载了大约 5 倍的内容,耗时约 3 秒。
这里加载了很多东西(大约是旧版 Reddit 的 5 倍),这就是我的分析变得不太科学的原因。我没有试图绕过“安全措施”(不管那是什么意思),而是试图做获取内容所需的最小努力。在浏览器里——我不想写爬虫。
这导致我基本上屏蔽了所有对域名(包括`reddit.com`)的请求,**除了**
- `www.redditstatic.com/js/concat`
- `www.reddit.com/svc/shreddit/more-comments/`
- `www.reddit.com/svc/shreddit/comment/`
当你这样做时,页面加载的内容少了很多,但*确实*加载了。当你点击加载更多评论时,它会无限旋转,但我检查了发出的请求,它*确实*得到了包含评论文本的响应。所以据我推测,仅仅在页面上运行 JS 就足以获取评论所需的信息。所以我想这就是阻止爬虫的原因?执行 Javascript?
纯粹为了好玩,让我们不加请求过滤器,加载更多评论。
新版 Reddit 进行了 94 次请求,加载了另外 2 MB 的评论,耗时约 3 秒。
嗯,这肯定不如旧版 Reddit 精简。
在我的(再次强调,不科学的)实验中,我重新加载了页面几次,尝试加载评论和回复,都没有失败。有一次,在我关闭请求过滤器时,我被重定向了,看到验证码字段作为查询参数发送,但我无法重现。我不知道如果你直接猛攻评论是否会触发验证码。
但我确实注意到,每次我滚动或移动光标时,都会向 Reddit 发送一个有用的心跳。
新版 Reddit 大约每 0.5 秒发送一次心跳。
我想这让我感觉更安全了?
## 那么什么更安全?
让我们打消任何关于前端存在*安全*问题的想法,因为这纯粹是公关废话。相反,如果我们读懂字里行间的意思,Reddit 不想让人们爬取(因为这是*他们的*金子,见鬼!),他们认为牺牲几个旧版 Reddit 用户就能足以扰乱爬取行为。
这真的能阻止爬取吗?我不知道!
我不会声称我已经证明了你仍然可以爬取新版 Reddit:肯定更难了,但看起来只是爬虫——意料之中——更喜欢使用 Reddit 更精简的形式。顺便说一句,这种形式默认加载的评论多 8 倍(200 条 vs 25 条;没错,新版 Reddit 初始只加载 25 条评论,如果你滚动一些,会自动增加到大约 35 条)。
讽刺地说,Reddit 似乎发现他们可以通过让你的浏览器加载更多、工作更多来让爬取变得困难,而这他们已经通过把一个漂亮的 HTML 页面重写成一个臃肿 5 倍的 Web 组件之类的东西做到了。(我放弃了不做评论的努力,抱歉)
问题是,如果 Reddit 只是默默地针对`old.reddit.com`返回 40X/30X 错误,或者说“没人用这个了,我们移除它”,我不会和 Reddit 计较。这让人不爽但可以预料。但声称他们需要因为我无法控制的、关于安全或爬取的模糊说法而对我“釜底抽薪”?这让我生气。我为了 Anubis 启用了 JS,见鬼!
## 总之
我得想想我这个博客会危及谁,因为它的核心功能——像旧版 Reddit 一样——是以纯 HTML 形式提供文本。虽然也许对我来说没问题,因为我的博客是我的内容,因此价值较低,因为它本来就是我的。不像 Reddit 试图从那堆偷来的用户创建内容中,保护其免受“大爬取”的侵害。先到先得!
---
## 但是为什么不……
### 登录呢?
当然。我可能会这么做。但请让我生气一下,好吗?
### 使用“新版”Reddit?
我可能还是得用,谁知道他们会不会继续支持旧版 Reddit。但记住我的话,如果他们觉得能蒙混过关,他们*会*对未登录的新版 Reddit 用户关上门。
### 使用 LL...
难道我就不能哀叹曾经存在、本可以继续存在的互联网的失落吗?为什么我必须咨询世界上最聪明、最昂贵的计算机,才能阅读人们对我的随机问题的看法?想读人类写的文字就这么奇怪吗?
相似文章
Reddit将要求用户登录才能使用old.reddit.com
Reddit将要求用户登录以访问old.reddit.com,称这是为了打击滥用抓取和自动化流量,这可能会让喜欢旧版界面简洁和隐私的用户感到不满。
如今,人们更信任 Reddit 评论,而非精心打磨的落地页。
文章观察到消费者行为的转变:用户越来越信任 Reddit 评论,胜过精心策划的营销内容。这一趋势因 Google 和 ChatGPT 等 AI 搜索引擎将 Reddit 内容纳入搜索结果而得到进一步放大。
Reddit反垃圾系统内部探秘
一篇博客文章揭示了Reddit反垃圾系统的内部细节(因一个漏洞而暴露),详细介绍了Reddit的全站垃圾过滤器和审核系统的工作原理。
简单HTML的超凡有效性
一篇博文,论证了简单HTML对于普遍可访问性的持续重要性,并通过一位女性使用PSP浏览器访问政府服务的故事加以说明。
Reddit用户是否应该关注他们的帖子如何被用于训练AI?
本文认为,随着网络充斥着合成内容,Reddit上混乱但真实的人类对话对于训练AI正变得越来越有价值,凸显了经济向稀缺人类行为数据的转变。