在 backend/internal/http/router.go 中
174-176 行存在你的域名:
if parsedOrigin.Scheme == "https" && (originHost == "bitit.cn" || strings.HasSuffix(originHost, ".bitit.cn")) {
return true
}
这段硬编码让所有 *.bitit.cn 子域名都通过。如果用户没有 bitit.cn 域名且未覆盖此配置,这是个无意义的白名单,应完全由 env 文件控制。
在 backend/internal/services/payments/providers.go 中
408 行看起来支付网关 http.DefaultClient 无超时
resp, err := http.DefaultClient.Do(request)
建议设置固定超时时间,可以硬编码3分钟或者通过 env 文件控制,支付模块如果不反回 err 则可能会一直等待
在 backend/internal/db/sqlite.go 中
存在硬编码页脚(影响不大)如果可以自定义页脚可以放入 env 或者 webui 修改
copyright := fmt.Sprintf("Copyright © 2026 %s. All rights reserved.", appName)
其他问题
- 登录、注册、验证码 等建议包含速率限制,目前有已复现方法可以被暴力枚举
- gateway.go 建议 io.ReadAll 定义 MaxBytesReader ,防止内存打爆炸(不然复现传奇 CVE-2026-49975)
- config.go 建议加入检测默认值是否存在的逻辑,防止大部分人不设置密码裸奔(不然获得 Napcat 同款默认密码漏洞的破坏和影响力)
在
backend/internal/http/router.go中174-176 行存在你的域名:
这段硬编码让所有 *.bitit.cn 子域名都通过。如果用户没有 bitit.cn 域名且未覆盖此配置,这是个无意义的白名单,应完全由 env 文件控制。
在
backend/internal/services/payments/providers.go中408 行看起来支付网关 http.DefaultClient 无超时
resp, err := http.DefaultClient.Do(request)建议设置固定超时时间,可以硬编码3分钟或者通过 env 文件控制,支付模块如果不反回 err 则可能会一直等待
在
backend/internal/db/sqlite.go中存在硬编码页脚(影响不大)如果可以自定义页脚可以放入 env 或者 webui 修改
copyright := fmt.Sprintf("Copyright © 2026 %s. All rights reserved.", appName)其他问题