v1.9.0 安全更新
本版本修复注册策略绕过、文章与文件对象越权、公开内容敏感字段泄露和 HTML 净化边界问题。建议所有 App / Pro 用户升级。
- 服务端执行关闭注册策略;Pro 第三方登录不能绕过开关创建新账号,已有账号登录保持可用。
- 文章详情、修改、历史及自动保存增加属主/管理员授权;普通作者不能伪造属主或绕过审核。
- 公开文章查询、归档和文档目录遵守审核及下架状态,公开响应不再暴露作者邮箱等管理信息。
- 修复私有文件详情、评论引用及图片路由的签名/直链生成权限,评论上传校验实际图片内容与大小。
- 修复 Mermaid 与存量正文的 HTML 净化旁路,前端图表采用严格模式并净化 SVG。
- 加强验证码单次消费与强度;登录界面不再使用邮箱存在性预检。
- 主题下载和图片代理增加统一公网连接、重定向、类型、超时及体积边界。
- 修复相册标签查询的数据库兼容性,避免公开响应暴露数据库错误。
- Pro 额外修复密码块恢复授权,并在验证密码前检查文章可见性。
升级兼容说明
- 关闭注册也会关闭第三方新账号自动创建;错误验证码需要重新获取。
- 评论上传支持 PNG、JPEG、GIF、WebP,最大 10 MiB。公网图片代理不再返回 SVG。
- 主题下载要求公开 HTTPS/443 地址;图片代理允许公开 HTTP/80、HTTPS/443,拒绝私网和非标准端口。
- 内联事件脚本被移除;没有对应 Markdown 源码的旧 Mermaid 图表可能需要重新保存。
- 自定义客户端不能依赖邮箱预检判断账号存在,也不能依赖公开接口的作者邮箱/内部 ID/审核字段或自报密码块解锁状态。
升级阻止新的越权访问和签名生成,不会自动清理历史账号、上传物或撤销既有永久直链。短期签名在原有效期内仍可能有效;站点所有者应按实际暴露情况审计历史数据和分享链接。本次没有引入会话吊销或刷新令牌轮换,历史泄露的会话凭据需要单独进行失效处理。
验证
两版 Go 1.25.11 全量测试、构建、静态检查及 GoReleaser 配置检查通过;两套前端生产构建和安全回归测试通过。真实浏览器验证确认正常 Mermaid 图表可显示,测试中的脚本未执行。