喻勇祥
4879d4891f
fix: 修复分享过期时间和防爆破保护覆盖不全的安全问题
问题1 - 分享过期时间未强制校验:
- 在ShareDB.findByCode()中添加过期时间检查
- SQL条件: AND (s.expires_at IS NULL OR s.expires_at > datetime('now'))
- 现在过期的分享链接将返回404,无法访问
问题2 - 分享密码防爆破保护覆盖不全:
- 给/api/share/:code/list添加shareRateLimitMiddleware
- 给/api/share/:code/download-file添加shareRateLimitMiddleware
- 在两个接口的密码验证失败时调用recordFailure
- 在两个接口的密码验证成功时调用recordSuccess
- 防止攻击者绕过/verify接口直接暴力破解
影响:
- 分享过期后将无法访问(安全性提升)
- 所有分享密码验证接口都受到限流保护(10次/10分钟)
- 修复了可绕过防爆破保护的安全漏洞
2025-11-14 00:15:15 +08:00
..
2025-11-13 21:36:49 +08:00
2025-11-11 13:17:57 +08:00
2025-11-10 21:50:16 +08:00
2025-11-14 00:15:15 +08:00
2025-11-10 21:50:16 +08:00
2025-11-10 21:50:16 +08:00
2025-11-10 23:35:33 +08:00
2025-11-14 00:15:15 +08:00
2025-11-10 21:50:16 +08:00
2025-11-13 19:25:46 +08:00