本文档提供 Temp-Mail 项目的安全配置和最佳实践指南。
-
输入验证和XSS防护
- 所有用户输入都经过严格的验证和过滤
- 添加了XSS攻击防护措施
-
SQL注入防护
- 数据库查询使用参数化查询
- 添加了输入验证和类型检查
-
文件路径安全
- 资源路径验证和规范化
- 防止目录遍历攻击
-
错误处理和安全头
- 添加了外部try-catch错误边界
- 设置了安全响应头
- 使用
wrangler.toml中的env.production/env.staging区块区分不同环境,只在 Dashboard 或 CI 中注入敏感变量 - 数据库ID等敏感信息应通过环境变量设置
- 避免在代码中硬编码敏感信息
- 当使用 GitHub Actions 自动部署 时,应以 GitHub Secrets 作为环境变量的“单一真源”:工作流会在每次部署时把这些值写入 Cloudflare Worker,覆盖同名的控制台配置。因此生产环境下不要同时依赖 Cloudflare 控制台中手动填写的同名变量,以免出现“本地修改但下次部署被还原”的情况。
-- 启用严格模式和WAL日志
PRAGMA strict = ON;
PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;已添加安全审计表记录所有DDL操作。
- 用户名:3-50字符,过滤特殊字符
- 密码:6-128字符,强度验证
- 邮箱地址:格式验证和长度限制
- 所有用户输入都经过HTML实体编码
- 使用安全的DOM操作方法
- 验证请求方法和内容类型
- 限制请求体大小
- 添加速率限制
- 建议在路由层(如
src/routes.js或src/server.js中包装响应)统一设置X-Content-Type-Options、X-Frame-Options、X-XSS-Protection等安全头,当前仓库未内置强制注入逻辑,可按需扩展。
- 配置环境变量(数据库ID等敏感信息)
- 启用Cloudflare WAF规则
- 配置适当的缓存策略
- 设置监控和告警
- 定期备份数据库
- 监控异常登录尝试
- 跟踪API调用频率
- 审计数据库操作
- 识别:检测异常活动
- 隔离:限制受影响的服务
- 分析:调查事件原因
- 修复:应用安全补丁
- 恢复:恢复正常服务
- 总结:记录经验教训
- 安全团队:security@example.com
- 紧急响应:+86-XXX-XXXX-XXXX
- 初始安全配置
- 基础输入验证
- 错误处理和安全头
注意:本文档应定期更新以反映最新的安全实践和威胁情报。