shenjianZ
|
d57037781e
|
feat: Display received time and fix timestamp timezone conversion.
|
2025-08-02 11:26:41 +08:00 |
shenjianZ
|
e936fbc140
|
feat(docker): 安装 tzdata 并设置 TZ=Asia/Shanghai 以让 Node.js 使用上海时区
|
2025-08-02 10:42:43 +08:00 |
shenjianZ
|
a96aa6e073
|
feat(docker): 安装 tzdata 并设置 TZ=Asia/Shanghai 以让 Node.js 使用上海时区
|
2025-08-02 10:00:47 +08:00 |
shenjianZ
|
893fac1ff2
|
feat(docker): 安装 tzdata 并设置 TZ=Asia/Shanghai 以让 Node.js 使用上海时区
|
2025-08-02 09:56:38 +08:00 |
shenjianZ
|
be59fa85de
|
feat(backend): 实施连接与数据层速率限制
为了增强服务的稳定性和安全性,防止滥用行为,本次提交引入了两个核心的速率限制和验证机制:
1. **连接层验证 (`onConnect`)**
- **IP 速率限制**:在 `connectionValidator.js` 中实现。限制单个 IP 地址每分钟最多 20 次连接,超过限制将临时封禁 5 分钟,以防御暴力连接攻击。
- **反向 DNS (PTR) 检查**:要求所有公共网络连接必须具有有效的 PTR 记录,用于区分合法邮件服务器和僵尸网络。
2. **数据层验证 (`onData`)**
- **发件人域速率限制**:在 `rateLimiter.js` 中实现。在邮件数据传输阶段,限制单个发件人域名每分钟最多发送 10 封邮件,超过限制的域名将被临时封禁 5 分钟,以防止单一来源的邮件泛滥。
**主要变更:**
- 新增 `backend/connectionValidator.js`:处理连接时的 IP 速率限制和 PTR 验证。
- 新增 `backend/rateLimiter.js`:在 `onData` 阶段对发件人域名进行速率限制。
- 在 `backend/app.js` 的 `SMTPServer` 配置中集成了 `onConnect` 验证钩子。
- 在 `backend/saveEmail.js` 中调用速率限制器,并在超限时拒绝邮件。
- 更新日志模块 (`logger.js`, `db.js`),输出更清晰,并记录安全相关事件。
- 新增 `backend/SECURITY_POLICIES.md` 文档,详细说明所有安全策略和可配置参数。
|
2025-08-01 22:59:40 +08:00 |
shenjianZ
|
7ee074249f
|
feat: fix backend sql error;fix frontend i18n display error
|
2025-07-29 15:35:34 +08:00 |
shenjianZ
|
8c649adf93
|
feat: Enhance backend with request/SQL logging via morgan/winston and fix frontend by correctly rendering email Markdown content using the 'marked' library.
|
2025-07-29 12:44:56 +08:00 |
shenjianZ
|
f1b39d22a5
|
feat: fix backend some error;fix frontend display error
|
2025-07-28 14:14:11 +08:00 |
shenjianZ
|
eeb3b4b0df
|
deploy success - first version successed
|
2025-07-28 13:17:54 +08:00 |
shenjianZ
|
2999e562c7
|
mailu branch failed
|
2025-07-28 12:18:54 +08:00 |