密钥写死在代码里,仓库一克隆就泄露。集中管理或至少环境变量隔离。
防护配置
# 用 secrets 管理器,别写进代码
export DB_PASS=$(vault read -field=password secret/db)
# 或至少用环境变量 + .env(已 gitignore)
echo "DB_PASS=***" > .env # 不入库
要点速览
- 用 Vault/云密钥管理,运行时注入,代码里只有引用名。
- 环境变量 + gitignore 是底线方案。
- 泄露即轮换,旧密钥立刻作废。
密钥管理的铁律:代码里只放名字,不放秘密本身。