8月19日,我发现我的 WordPress 博客被黑了。
早在今年4月,我便归档了我的 WordPress 博客,所有内容更新发布到这里。在那之后,我便很少上 WP 后台。偶尔上去会看到多了一些留言,大部分还是 spam。上周再打开 imzm.im,我发现首页突然多了一篇文章,标题名叫 Hacked by Chinafans,发布日期2026年8月15日,正文是两条 t.me 链接。显然入侵者已经拿到了我的后台权限,能够发布文章。通过虚拟主机 cPanel 进入后台以后,发现大量异常现象:后台登录链接被修改;多了十几个随机生成名字的管理员账户;public_html 目录下多了数个 0x 开头的文本文件;error.log 文件大小达到 36.93MB,其中从今年8月开始,REST API 请求暴增(我把 error.log 文件扔给大模型分析后得出的结果)。用大语言模型分析后的话讲,我的 WP 正在被 “xmlrpc.php 爆破”和“wp-login.php 枚举”。
我的 WordPress 博客放在老薛主机的虚拟主机上,年付150多块钱,从12年初购买至今也有5年多了。虚拟主机里还有两个 DokuWiki 站点和若干静态网页,数据库随着年月增长已经有了可观的体积。在网站归档前,我便做了全量备份。我一直注重站点安全和隐私保护,因此在之前多年里,我每年至少导出一次 WP 的 .xml 和 .sql,因此不存在数据丢失的情况。然而我没有编程背景,我无法更全面地保护我的 WordPress 站点。这一次网站被入侵,我不知是何原因,群里的网友说可能是 WordPress 最近一个版本的漏洞。现在我觉得没有必要在深入研究了,干脆以这次被入侵为契机,完全停止我的 WordPress 博客。
我花了大约一个小时就备份好所有内容,然后在域名服务商平台把域名解析解除,然后在 cPanel 卸载 WordPress 和两个 DokuWiki。做下这个决定并没有感到遗憾或者难过,因为我已经酝酿了半年有余。
2025年4月1日,我创建了这个 Quartz 站点,发了一些内容,原本是与 WordPress 博客平行存在的。但是慢慢的,我发现 WordPress 存在的意义于我而言越来越小,我在 Quartz 站点发布的内容越来越多,越来越频繁,我开始思考是否有必要同时维护一个动态博客和一个静态网站。这期间我与好友群友以及 AI 都有过大量深入的探讨,大家意见不同,但都倾向于只维护一个站点。后面我决定循序渐进,先把 WP 归档,简单发了一篇推送,写明我要换地方了,附上 Quartz 的 URL。更具体的过程可以参阅心路历程。
主要的原因不外乎几点:WordPress 越来越臃肿了,维护成本越来越高了,WordPress 背后的开发者和资方矛盾越来越激烈了,安全性和体验却持续降低。我稍加思考,其实我留恋 WordPress 的地方为数不多:方便的评论管理和用了十多年的域名,以及这个域名下认识多年的网友们。后来转念一想,这并不是一个问题。我并不需要那么多评论,我的网站这么多年访问量很低,也不是什么 KOL,不过是一个普普通通的互联网一份子。想要对话的朋友,用多种方法与我交流(邮件,TG 甚至微信),评论并不是必须的。相比之下,静态站点带来的好处更多了:不需要担心入侵风险,不需要担心稳定性,不需要关心静态网站生成器是否有更新了。只要赛博大善人 Cloudflare 和互联网基建 GitHub 一天不崩溃,域名一直续费和解析,我的网站理论上是赛博永生的。
静态网站生成器还有若干优点:所有数据在本地天然有备份,在 GitHub 上有备份,甚至顺便做了版本管理。针对 Quartz v5 这个生成器,为 Obsidian 而生,几乎无缝契合我的笔记软件使用习惯。本质上我是把本地上写的 Obsidian 发布成一个网站 还省了一笔 Obsidian Publish 的费用。
最后我做了一个动作:把 imzm.im 域名 301 到 jefftay.com 。只此,我没有什么可担忧的了。我能把所有注意力都放在新的站点上,专心更新内容,没事去网友们的优秀网站逛逛。
就在前几天,WordPress 7.1 正式版发布,稍微浏览了更新内容,大多数都是我不感兴趣的。遥想我第一次使用 WordPress 的2015年,那时候的版本号还是 4.x,用起来并不算好用,古腾堡编辑器还没有被开发出来。