Skip to content

Security: noxenys/temp-mail

Security

SECURITY.md

Temp-Mail 安全配置指南

概述

本文档提供 Temp-Mail 项目的安全配置和最佳实践指南。

安全审计结果

✅ 已修复的安全问题

  1. 输入验证和XSS防护

    • 所有用户输入都经过严格的验证和过滤
    • 添加了XSS攻击防护措施
  2. SQL注入防护

    • 数据库查询使用参数化查询
    • 添加了输入验证和类型检查
  3. 文件路径安全

    • 资源路径验证和规范化
    • 防止目录遍历攻击
  4. 错误处理和安全头

    • 添加了外部try-catch错误边界
    • 设置了安全响应头

⚠️ 需要配置的安全设置

Cloudflare Workers 安全配置

Wrangler.toml 配置与环境变量安全

  • 使用 wrangler.toml 中的 env.production / env.staging 区块区分不同环境,只在 Dashboard 或 CI 中注入敏感变量
  • 数据库ID等敏感信息应通过环境变量设置
  • 避免在代码中硬编码敏感信息
  • 当使用 GitHub Actions 自动部署 时,应以 GitHub Secrets 作为环境变量的“单一真源”:工作流会在每次部署时把这些值写入 Cloudflare Worker,覆盖同名的控制台配置。因此生产环境下不要同时依赖 Cloudflare 控制台中手动填写的同名变量,以免出现“本地修改但下次部署被还原”的情况。

数据库安全配置

D1 数据库安全设置

-- 启用严格模式和WAL日志
PRAGMA strict = ON;
PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;

安全审计表

已添加安全审计表记录所有DDL操作。

前端安全配置

输入验证规则

  • 用户名:3-50字符,过滤特殊字符
  • 密码:6-128字符,强度验证
  • 邮箱地址:格式验证和长度限制

XSS防护措施

  • 所有用户输入都经过HTML实体编码
  • 使用安全的DOM操作方法

API安全

请求验证

  • 验证请求方法和内容类型
  • 限制请求体大小
  • 添加速率限制

响应安全头

  • 建议在路由层(如 src/routes.jssrc/server.js 中包装响应)统一设置 X-Content-Type-OptionsX-Frame-OptionsX-XSS-Protection 等安全头,当前仓库未内置强制注入逻辑,可按需扩展。

部署安全检查清单

生产环境部署前检查

  • 配置环境变量(数据库ID等敏感信息)
  • 启用Cloudflare WAF规则
  • 配置适当的缓存策略
  • 设置监控和告警
  • 定期备份数据库

安全监控

  • 监控异常登录尝试
  • 跟踪API调用频率
  • 审计数据库操作

应急响应

安全事件处理流程

  1. 识别:检测异常活动
  2. 隔离:限制受影响的服务
  3. 分析:调查事件原因
  4. 修复:应用安全补丁
  5. 恢复:恢复正常服务
  6. 总结:记录经验教训

联系方式

更新日志

v1.0.0 (2024-01-01)

  • 初始安全配置
  • 基础输入验证
  • 错误处理和安全头

注意:本文档应定期更新以反映最新的安全实践和威胁情报。

There aren't any published security advisories