Skip to content

硬编码和一些逻辑缺陷问题 #2

Description

@BUGJI

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 同款默认密码漏洞的破坏和影响力)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions