最近熬了几个大夜,把博客的代码彻底翻新了一遍。主力机 macOS M3 上的 Visual Studio Code 都快被我盘包浆了,总算把这一堆琐碎的需求给清了。记录一下最近的碎碎念,顺便宣告本站正式上线。

微信拦截说明

有几个朋友发消息说,在微信里点开博客链接会提示未备案。这其实是微信一刀切的常规操作。本站跑在海外 VPS 上,自然没有这玩意。

💡 舒服的地方: 脱离了繁琐的备案流程,服务器和域名的控制权完全在自己手里,这才是折腾独立博客的乐趣所在。

如果介意微信的拦截弹窗,建议直接复制链接到手机自带浏览器打开。我也不会为了迎合微信去搞什么特殊处理。

前端视觉微调

这次把门面也稍微收拾了一下。首页的个人介绍改成了全栈开发、云端架构和系统运维,更贴合我现在折腾的方向。社交链接和底部的邮件订阅文案也全都统一了。

  • 细节强迫症:给移动端文章目录加了 lime 颜色的焦点环,修复了之前悬浮卡片文字重影的离谱 Bug。
  • RSS优化:现在的 RSS 入口不用再到处找了,点击直接复制链接并会有复制成功提示。
  • 捐赠页面:新加了 /donate 页面,把支付宝、微信和加密货币(USDT 等)横排对齐了。
  • 留言板升级:现在站长可以在后台直接回复留言,页面上会带上专属徽章和高亮边框。

底层逻辑加固

看不见的后端逻辑才是这次重构的大头。查后台日志发现有不少乱七八糟的扫描,于是顺手把几个接口的安全策略给上了。

  • SSRF防御:重点关照了 /api/favicon 和链接预览接口。强制校验了 Content-Type 和内网地址,加上了 5 秒超时,彻底堵住了可能被利用的漏洞。
  • 缓存治理:清理了那些拿不到图标还死占着长期缓存的垃圾数据。现在只保留规范化后的有效图片 URL 作为缓存键,大幅降低了空间浪费。
  • Redis降级:以前文章浏览量写入会阻塞页面渲染,这次全改成后台异步执行。增加了 1.5 秒超时机制,哪怕 Redis 挂了也能秒降级为 0 返回。

[如果有同学参考了旧版代码,请务必尽快更新服务端请求自身的逻辑,避免严重的性能损耗。]

追踪后续更新

博客上线后,我不打算在网站里专门开个页面去写更新日志了。每次微调都发篇文章,实在过于精神内耗。

以后的系统变更、UI 调整和 Bug 修复,都会直接走 GitHub 的版本发布。需要扒代码或者看更新记录的,直接去我的开源仓库看。

地址放在这:GitHub Release 。博客就留给纯粹的技术分享和日常吐槽吧。