fix(server): 修复 IP 封锁绕过漏洞并补充审计日志
- 支持 TRUST_PROXY 配置,由 express 正确解析客户端 IP,防止伪造 X-Forwarded-For - 修复 IP 封锁使用对象作为 Map key 导致失效的问题,改用字符串 IP - 主密码解锁失败时记录 IP 失败次数,达到阈值后封锁 - 补充条目更新操作的审计日志
这个提交包含在:
@@ -54,6 +54,9 @@ const config = {
|
||||
// 4) 会话与安全
|
||||
sessionSecret: pick('SESSION_SECRET', ''),
|
||||
sessionMaxAge: parseInt(pick('SESSION_MAX_AGE', String(30 * 60 * 1000)), 10),
|
||||
// 反向代理层数/地址(如 "1" 或 "127.0.0.1")。设置后由 express 正确解析客户端 IP,
|
||||
// 防止攻击者伪造 X-Forwarded-For 绕过 IP 封锁。直连部署留空。
|
||||
trustProxy: pick('TRUST_PROXY', ''),
|
||||
|
||||
// 审计日志:本地文件持久化目录(可按大小自动切分),默认 ./logs
|
||||
logDir: pick('LOG_DIR', path.join(__dirname, 'logs')),
|
||||
|
||||
在新工单中引用
屏蔽一个用户