Files
go_blog/i18n
dsh de27e53287 fix: SECURITY_TODO #29 favicon/logo 上传增加魔数一致性校验
saveSiteImage 只查扩展名白名单 + Category=image 即落盘,管理员可将
HTML 字节存为 logos/logo.png(当前仅靠 nosniff + 按扩展名 Content-Type
兜底,纵深防御链条断裂)。现与头像/附件上传(#14/#21)口径一致:
读取字节后 contentMatchesType 校验,不匹配返回 400
(settings_upload_bad_content,i18n 中英新增)。

- handlers/settings.go: saveSiteImage 魔数校验后再写盘
- 测试: TestSiteImageUploadRejectsMismatchedContent
  (favicon/logo 各:PNG 扩展名 + HTML 字节 → 400;真实 PNG → 200)
2026-08-27 21:41:02 +08:00
..