fix: 审计问题全量修复 + RateLimiter 原子化重构 + CDN 本地化收紧
- 安全:移除 CSP 中 esm.sh/cdnjs.cloudflare.com,highlight.js 主题已本地化 73 个文件 - 安全:StatusBanned 分支补 dummy hash 防时序攻击 - 安全:手写 constantTimeEq 替换为 crypto/subtle.ConstantTimeCompare - Bug:锁定操作消息已删除→已锁定 - YAGNI:删除 12 个空预留模板目录 - KISS:删除 common.CheckPassword 薄封装,统一用 bcrypt 调用 - KISS:删除 tokenCtrl 别名字段,api.go 统一用 authCtrl - RateLimiter:check()+recordFail 闭包模式重构为 try() 原子操作,消除竞态 - RateLimiter:新增 ClearIP() 方法,注册成功时清除 IP 计数 - 文档:修正 audit_service.go 注释编号跳跃(3→5→4) - 文档:修正 deps_core.go 过清理→过期清理
This commit is contained in:
@ -8,8 +8,8 @@ package model
|
||||
// 支持的 shortcode:
|
||||
// [zone:event:活动ID] → 官方活动卡片(标题、时间、封面、链接)
|
||||
// [zone:game:游戏slug] → 游戏信息卡片(名称、封面、类型)
|
||||
// [zone:poll:投票ID] → 投票组件(预留)
|
||||
// [zone:resource:资源ID] → 资源卡片(工具/素材推荐,预留)
|
||||
// [zone:poll:投票ID] → 投票卡片(※后端 API 开发中)
|
||||
// [zone:resource:资源ID] → 资源卡片(※后端 API 开发中)
|
||||
//
|
||||
// 扩展现有类型:在 ShortcodeRegistry 中注册新类型 + 实现 Renderer 即可。
|
||||
// =============================================================================
|
||||
@ -34,8 +34,8 @@ type ShortcodeType string
|
||||
const (
|
||||
ShortcodeEvent ShortcodeType = "event" // [zone:event:活动ID]
|
||||
ShortcodeGame ShortcodeType = "game" // [zone:game:游戏slug]
|
||||
ShortcodePoll ShortcodeType = "poll" // [zone:poll:投票ID] ※预留(后端API未实现)
|
||||
ShortcodeResource ShortcodeType = "resource" // [zone:resource:资源ID] ※预留(后端API未实现)
|
||||
ShortcodePoll ShortcodeType = "poll" // [zone:poll:投票ID] ※后端 API 开发中
|
||||
ShortcodeResource ShortcodeType = "resource" // [zone:resource:资源ID] ※后端 API 开发中
|
||||
)
|
||||
|
||||
// allTypes 所有已定义的 shortcode 类型,添加新类型时在这里追加
|
||||
|
||||
Reference in New Issue
Block a user