Matt's Script Archive:那些重塑网络的脚本
摘要
该文章回顾了 Matt's Script Archive 的历史,这是一个在 1990 年代广泛使用但存在安全问题的 CGI 脚本集,它普及了网络论坛和留言板,同时突出了安全缺陷及社区的应对措施。
<p><a href="https://lobste.rs/s/mvjcxs/matt_s_script_archive_scripts_reshaped">评论</a></p>
查看缓存全文
缓存时间: 2026/06/23 07:43
# 马特的脚本档案:重塑网络的脚本们
来源:https://tedium.co/2026/06/22/matts-script-archive-retrospective/
**目前,我正在撰写**一篇关于网络论坛起源的大文章,但半路上我发现了一个足够奇怪的副线,于是决定先停下那个,转而写这篇单独的文章。因为我认为它实际上能解释很多关于人们如何使用互联网的现象。
简单来说,事情是这样的。大约在1995年左右,一位名叫 Matt Wright (https://www.mattwright.com/) 的高中生决定建一个网站,分享他编写的一些基本网站工具。这些工具大多极其简单,比如联系表单、留言簿和网页计数器。其中有一个叫 WWWboard 的工具大受欢迎,成为互联网上最早被广泛使用的网络论坛应用之一。
 Wright 广泛使用的论坛托管软件 WWWboard 的版权声明。Wright 建立的网站 Matt's Script Archive (https://www.scriptarchive.com/) 无意中凸显了普通人对软件的认知与开发者视角之间的分歧。
Wright 和其他像他一样的人,恰恰抓住了显而易见的市场需求。普通人发现了这些脚本,运行起来,然后就有了论坛、计数器和联系表单。它们能完成任务。但那些不是高中生、经验也不那么稚嫩的程序员们,却惊讶地看到 Wright 所做的事:他将设计糟糕但被广泛使用的软件散布到整个互联网。这些软件充斥着安全问题,而最糟糕的是,它们几乎不做什么更新。
安全问题有多严重?看看 OpenCVE (https://app.opencve.io/cve/?vendor=matt_wright&page=1) 就能发现一些非常严重的问题,既有因广泛暴露而产生的漏洞,也有可疑的设计决策带来的 bug。(把加密密码文件放在根目录下?通过 URL 就能获取环境变量?可不聪明!)
其中有一个专门针对 Wright 的文本计数器工具的漏洞,在列表里尤为突出:CVE-1999-1479 (https://app.opencve.io/cve/CVE-1999-1479),评分达到 10.0 分(严重),它实际上允许利用者在服务器上以 root 身份执行代码。
你说马特有一个脚本档案?让 Perl 高手们来接手吧。这种情况变得相当严重,以至于出现了一个名为 nms (https://nms-cgi.sourceforge.net/index.html) 的竞争网站,它的目的就是取代马特那些满是漏洞的脚本,提供即插即用且不包含因糟糕编码导致的安全问题的版本。他们的观点是:
> 问题在于 Matt's Script Archive 里的脚本并不好。在 Perl 社区里,这些脚本以编写糟糕、漏洞百出和不安全而闻名。任何人在论坛上寻求关于马特脚本的帮助时,都会被明确告知不应该使用他的脚本。不幸的是,在一段时间内,并没有合适的替代方案供人们使用。2001 年,London Perl Mongers 决定解决这个问题,编写了一系列马特脚本的即插即用替代品。这个项目就是成果。
(我要指出,由于 nms 本身已经大概 20 年没有更新了,所以你在 2026 年可能也应该考虑不要使用它了。)
当你的旧电脑有被留言簿入侵的风险时。(DepositPhotos.com (https://depositphotos.com/))
### 马特的脚本、简单的选择,以及过度曝光的麻烦
当某个东西被如此多的人使用,以至于成为互联网的通用语言时,漏洞的出现是不可避免的。WordPress 和 Windows 之所以都有“满是 bug”的名声,很大程度上是因为有大量眼睛盯着这些工具。
考虑到这一点,我认为把代码写得糟糕归咎于 Wright 是不公平的——毕竟他并不知道它会成为一个巨大的平台。不过,对于安全团队来说,这里有一个教训:他们往往会被迫围绕那些选择最简单方案的人来工作。
普通人不想花几个小时去审视所有可能的选项来找到好东西。他们只想要它能工作,而且可能不会过多地考虑如何让它变得更好。
当然,这就是为什么“vibe coding”如今如此流行。它触及了与那个容易获取的脚本档案完全相同的张力。就像这些脚本一样,你可以把 vibe coding 出来的应用看作是某个不懂行的人写的不安全垃圾,也可以把它们看作是一种民主化的工具。
问题是,从技术上讲,它们两者都是。你能在欣赏一面的同时欣赏另一面吗?我有答案,答案是肯定的。
Matt's Web Scripts,1997 年在 worldwidemart.com 上的样子。这是众多随机网站流行起来的例子之一,没有什么真正的道理可循。但嘿,马特有相当不错的脚本!(Internet Archive (https://web.archive.org/web/19970130232033/https://www.worldwidemart.com/scripts/))
### 马特的脚本,被铭记
最近,我在曾经托管 Matt's Script Archive 的域名上发现了一个令人难以置信的项目。一年前,worldwidemart.com 还在托管那种可能会给你的电脑带来病毒的垃圾赌博内容。
但那个所有者去年年底让这个域名过期了。这反而成了最好的事情。一个非常关心 Matt's Script Archive 遗产的人决定买下这个域名,建立一个新的网站,解释曾经存在过的东西的遗产,以及为什么那些脚本,尽管有缺陷,却很重要。
对于一个 vibe coding 出来的东西来说,它出乎意料地用心。这个新网站 (https://www.worldwidemart.com/) 明显带有 vibe coding 的气息,但你知道吗?它也为互联网历史做了件极其重要的事。如你所知,我是那种当有人因为不太光彩的理由接管了一个历史重要的网站 (https://tedium.co/2020/12/15/altavista-history-digital-dot-com-domain-name/) 时会大声抱怨的人。但我仔细查看了这个页面,没有发现任何抱怨的理由——没有那种“是的,我们这么做是为了卖你点东西”的低调可疑戏码。我曾以为会在那里看到那种东西的地方——位于 /hosting/ (https://www.worldwidemart.com/hosting/) 的一个链接——实际上却是一个关于过去 30 多年里网络托管如何变化的解释。
换句话说,这个网站很棒。如果我们打算把域名复活成僵尸网站,我宁愿它是一个用 vibe coding 方式做的、解释它为什么曾经具有历史意义的东西,而不是一个连垃圾邮件发送者都不想要的网站。
马特当时在想什么?他只是想帮忙而已。而他确实帮了忙。
##### 无脚本链接
**如果你喜欢这类老东西**,我推荐查看已故网站存档工具 rip.so (https://rip.so/),它正好能击中这种多巴胺区域。
**与此相关**,这篇关于 vibe coding 安全风险的 Verge 报道 (https://www.theverge.com/ai-artificial-intelligence/950844/vibe-coding-security-risks-apps) 结合今天的文章来看格外相关。
**我觉得 LinkedIn** 每天有十几款游戏要你玩这件事非常奇怪。我们得给它取个名字,而 Juniper Dev 想到的“企业谜题渣 (corporate puzzleslop) (https://www.youtube.com/watch?v=_qDne3nQyNU)”简直完美。(她的频道也很棒,内容很专业。)
---
觉得这篇文章有意思?分享给朋友 (https://tedium.co/2026/06/22/matts-script-archive-retrospective/)!(马特在 1997 年运行过你的留言簿吗?)
也别忘了看看 Tedium 购物网 (https://shopping.tedium.co/) 上的最新内容。
相似文章
90年代末至2000年代初黑客工具的情感之旅
怀旧回顾90年代末至2000年代初的黑客工具,如Back Orifice、NetBus、Sub7和Nmap,反思它们的影响以及Windows 98黑客时代。
唯有回首时
关于维护一个网站25年的个人反思,回顾从早期8位计算机到现代高性能系统的技术变革。
@_mattata: Anthropic 发布了一个相当简洁的代码审计工具,用于识别具有潜在安全影响的漏洞。它…
Anthropic 发布了一个开源代码审计参考工具,用于使用 Claude 进行自主漏洞发现和修复,涵盖了 recon→find→triage→report→patch 流程,主要针对 C/C++ 内存漏洞。它是一个模板/参考实现,而非生产就绪产品,同时还提供名为 Claude Security 的托管选项。
Netscape时代的持久影响
本文回顾了1998年Netscape将其浏览器代码开源的历史时刻,并介绍了纪录片《Project Code Rush》如何记录这一过程。该事件加速了软件开发的步伐,并对后来的开源运动产生了深远影响。
JavaScript的诞生与消亡(2014)
Gary Bernhardt在PyCon 2014上的一场演讲,幽默地追溯了JavaScript从1995年到2035年的历史与未来,讨论了其缺陷与积极影响。