本文档总结了为保护项目敏感信息而采取的安全措施。
- ✅ 删除原始配置文件:移除了包含敏感信息的
application.yml、application-dev.yml、application-prod.yml - ✅ 创建配置模板:创建了
.template后缀的配置文件模板,使用环境变量占位符 - ✅ 更新.gitignore:添加了敏感文件到忽略列表
已移除以下类型的敏感信息:
- 数据库连接地址:
47.119.165.234:3308 - 数据库用户名:
modules - 数据库密码:
8YdLnk7KsPAyDXGA
- Redis服务器:
8.134.169.209:16379 - Redis密码:
redis_WSDb88
- 邮箱账号:
170083662@qq.com - 邮箱密码:
mnfokualhfaucaie
- AccessKeyId:
LTAI***************(已移除) - AccessKeySecret:
***************(已移除)
- Token密钥:
WLgNsWJ8rPjRtnjzX/Gx2RGS80Kwnm/ZeLbvIL+NrBs=
- MQTT服务器:
tcp://1.14.159.185:1883 - 用户名:
swdev - 密码:
Sw20250523
- 微信支付API密钥
- 支付宝密钥
- 支付证书文件
- ✅ 删除证书文件:移除了所有支付相关的证书文件
- ✅ 创建说明文档:在
src/main/resources/cert/README.md中提供了证书配置说明
- ✅ 生成器文件:将测试代码生成器中的硬编码数据库信息改为环境变量
- ✅ 翻译服务:将阿里云翻译API的硬编码密钥改为环境变量
- ✅ 支付服务:将微信支付相关的硬编码配置改为环境变量
- ✅ AI服务:将AI服务的硬编码token改为环境变量
- ✅ 创建示例文件:创建了
.env.example文件,包含所有必需的环境变量 - ✅ 生成密钥脚本:提供了JWT密钥生成脚本(Linux/macOS和Windows版本)
- ✅ README.md:添加了安全配置说明和快速开始指南
- ✅ SECURITY_SETUP.md:创建了详细的安全配置指南
- ✅ 安全检查脚本:创建了自动化安全检查脚本
src/main/resources/application.yml.templatesrc/main/resources/application-dev.yml.templatesrc/main/resources/application-prod.yml.template.env.example
SECURITY_SETUP.md- 安全配置指南SECURITY_SUMMARY.md- 安全处理总结(本文件)src/main/resources/cert/README.md- 证书配置说明
scripts/generate-jwt-key.sh- JWT密钥生成脚本(Linux/macOS)scripts/generate-jwt-key.bat- JWT密钥生成脚本(Windows)scripts/security-check.sh- 安全检查脚本
-
复制环境变量文件:
cp .env.example .env
-
编辑环境变量:
vim .env # 填入实际的配置信息 -
创建配置文件:
cp src/main/resources/application.yml.template src/main/resources/application.yml cp src/main/resources/application-dev.yml.template src/main/resources/application-dev.yml cp src/main/resources/application-prod.yml.template src/main/resources/application-prod.yml
-
生成JWT密钥:
./scripts/generate-jwt-key.sh
-
配置证书文件(如需支付功能):
- 将支付证书文件放入
src/main/resources/cert/目录
- 将支付证书文件放入
- 环境变量文件:
.env文件包含敏感信息,已添加到.gitignore,不会被提交到版本控制 - 配置文件:实际的配置文件(非模板)已添加到
.gitignore,不会被提交 - 证书文件:证书目录已添加到
.gitignore,证书文件不会被提交 - 密钥安全:请使用强随机字符串作为JWT密钥和其他敏感配置
运行安全检查脚本验证项目安全性:
./scripts/security-check.sh如果在配置过程中遇到问题,请参考:
✅ 项目现在可以安全地提交到GitHub公开仓库!