iKode Blog icon iKode Blog
返回文章列表

Article

上线前,把安全边界和测试地基补上

技术笔记2026年6月16日 23:302 min

这一轮没有追新功能,而是把后台编辑、评论链接、爬虫入口和测试入口都往稳里收了一点。

这一轮更像是上线前的收边。

没有急着继续加 RSS,也暂时没有碰图片对象存储。我先把几个会影响日常维护的小地方补上:后台长表单要能保住草稿,评论审核页不能把管理员带去已经不可访问的公开页面,爬虫应该知道哪里能进、哪里别进,项目也应该有一条可以反复运行的测试入口。

后台文章和生活记录现在会保存本地草稿。写长 Markdown 的时候,刷新页面或切走记录不再那么吓人;保存成功后草稿会被清理,清空表单也不会立刻被旧草稿拉回来。

评论审核页也收紧了一点:API 会告诉前端目标内容是否真的还有公开路径。如果文章归档、生活记录完全私密,或者内容已经不可用,后台只显示文本和提示,不再渲染一个注定 404 的链接。

/robots.txt/sitemap.xml 是另一层小边界。前者明确挡住 /admin/api/admin,后者只收录公开文章和公开生活记录。私密预览虽然有公开壳子,但不会进入 sitemap。数据库暂时不可用时,sitemap 也会降级返回静态页面,不把这个小入口变成 500。

最后补了一条轻量测试基线:pnpm test 现在会跑 Node 内置 test runner 加 tsx,先覆盖纯工具函数,例如后台 slug、公开路径判断、默认表单状态,以及数据库连接错误识别。它不华丽,但很适合在每次提交前快速确认一些小逻辑没有松动。

顺手也记下一个观察:pg@8.21 会提示同一个 client 上排队查询的弃用警告,未来 pg@9 会移除这种行为。现在它不是业务错误,但后续如果继续收紧数据库层,应该优先检查同一请求里的并行 Prisma 查询,必要时改成顺序 await 或更明确的连接控制。

这些都不是第一眼能看见的功能,但它们会让网站更像一个能长期使用的地方。

Comments

留言

需要 GitHub 登录。新评论会先进入待审核,别急,它只是先坐到门口等一会儿。

使用 GitHub 登录后可以评论。

已通过评论

0

还没有通过审核的评论。桌子很安静,第一杯茶还没端上来。