返回资讯中心
外部精选
软件工程
#开发者实时流

开发者质疑软件质量与用户选择及收益之间是否存在关联

来源标题:Does it matter if software is unreliable and insecure?

一位开发者发文质疑,投入大量精力让软件和网站可靠、安全、可维护是否有实际回报,因为软件质量与用户是否愿意使用或赚多少钱之间几乎没有关联。他称自己的观察主要来自小型网站和应用,并指出质量差、常有安全问题的代码也能运行多年,现实中的严重安全问题似乎很少真正发生。

Hacker News 最新graemep2026/11/9 · 今天20 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

我在开发软件,尤其是网站时,投入了大量精力来确保其可靠、安全和易于维护。但我开始怀疑这样做是否真有实际好处。软件的质量与用户是否愿意使用或它能赚多少钱之间,几乎没有关联。

写这篇文章的直接导火索是最近发生的一些事情,我可能会在博客文章中解释,也会在这里提及,但它反映了我多年来观察到质量低劣、往往极不安全的代码却能运行多年。软件行业的人经常对此表示不满(说的就是你们,Hacker News,还有博主和社交媒体发帖人)。我自己多年来也一直在抱怨代码质量问题的普遍性。

问题在于,软件似乎能在没有“必要”更新的情况下运行多年:带着不安全的代码和烦人的 bug,而所有人似乎对此完全满意。甚至严重的安全问题在现实生活中似乎也从未发生过。我的经验主要涉及小型网站和应用,但这些是定制代码,所以我通常看不到那些纯粹是 Wordpress 宣传网站之类的东西。我先从这些说起,然后再谈大企业。

不过,Wordpress 是个很好的起点,因为它被广泛使用。我认识很多使用它的人,多年来也有很多人用,他们几乎不关注安全。他们不更新 Wordpress,也不更新 VPS 上的操作系统。他们以为 AWS 会为他们“实例”完成所有必要的更新,或者认为托管 VPS 包含了应用程序更新以及操作系统更新。这些人中有多少被入侵过?有史以来只有一个,是因为过时的 Wordpress 安装被入侵,另一个是操作系统被入侵(当然,那是运行加固内核的人),而我做这行已经很久了。

远不止 Wordpress。二十多年前,我的第一个客户让我看看他的网站(完全是自定义 PHP 代码),我立刻感到震惊。该网站有多个表单,在表单发送到数据库之前完全没有转义。SQL 注入攻击轻而易举。该网站已经运行多年没有出过事。当然,我坚持认为网站需要升级。去年我发现一个网站,同样运行了很多年,在两处对用户输入调用了 Python 的 exec。

现在,在广为人知的 PHP 漏洞曝光后不久,你觉得普通小企业——其网站托管在云平台或 VPS 上——会更新吗?那些网站可能本来就不太安全,因为是由一个“网页设计师”搭建的,每个功能都用 Wordpress 插件,加上拖拽式主题。使用共享主机的人会得到更新。使用托管服务器/VPS 的人会得到操作系统部分的更新,但通常这些服务不涉及应用程序代码更新或使用正确的 PHP 版本。其他所有人的一切——操作系统、数据库、语言库、应用程序代码——都将是不受支持的版本……

当我接到新客户时(通常是 Linux 上的 Python + Django),通常可以安全地假设没有人做过安全升级。同样可以安全地假设某些东西多年未升级,而且往往什么都没升级过。我见过最好的情况是操作系统配置了自动更新。就在最近几周,我将一个系统从 Django 3.2 升级,而肯定还有更老的系统存在。

既然如此,那潮水般的被入侵网站在哪里?任何管理 Web 服务器的人都会看到持续不断的弱点探测(例如请求 /wp-admin 或 /.env 之类的路径),但似乎从来没有后果。也许很多这类探测来自机器人,目的是在发现值得攻击的网站后进行后续行动。

质量方面也是如此。很多网站功能略有破损,或者有很多可用性上的粗糙边缘,却有很多满意的客户。当然,人们更关心产品本身而非销售它的网站,但这似乎即使软件就是产品时也适用。有些是网络效应(例如 Facebook、Microsoft),所以人们会抱怨但继续使用。

这就自然地引出了大企业。很多人无疑会认为这些只是技术能力有限的小企业。并非如此。Microsoft 应对美国军方电子邮件泄露事件负责。Tesco Bank 没有安全地存储密码(对于不熟悉该问题的人,如果你还算称职,实际上不会存储密码本身)。Google 和一家澳大利亚养老基金一起删除了后者的所有数据。Cloudstrike 导致 850 万个不同系统崩溃。

最后这件事特别有趣,原因有两个。第一,它需要双方都犯错(在我看来是无能或粗心)才会发生。Cloudstrike 方面测试不足,他们的客户方面也是如此。是的,少数组织可以得意地告诉你,他们将其部署到暂存环境,发现了 bug,并推迟部署到生产环境,从而避免了系统宕机。然而,其他所有人(无数组织运行着 literally 数百万个系统)根本没有费心做基本工作。同样,对于没有暂存环境的小企业来说,这是可以原谅的,但这影响了从航空公司到医院的大量企业。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →