Abner
|
7fd54dde39
|
♻️ refactor: 修复安全漏洞并优化架构债务
安全修复:
- 修复 dom.js 和 simyo/app.js 中的 innerHTML XSS 注入风险
- 使用 HTMLSanitizer.escapeHtml/escapeAttr 替代直接模板拼接
- 将 onclick 内联事件替换为 data-* 属性 + addEventListener
- 移除 server.js 中硬编码的 Simyo X-Client-Token
架构优化:
- 新增 _shared/rate-limiter.js 分布式限流模块 (Netlify Blobs)
- verify-cookie.js 内存限流替换为 KV 跨实例共享方案
- giffgaff/utils.js debounce/throttle 改为委托共享实现
- simyo/app.js 会话存储迁移至 SecureStorage (自动 TTL 过期)
- 合并 notifications-internal.js 至 notifications.js 消除双维护路径
|
2026-04-25 16:30:19 +08:00 |
|
Abner
|
1d8e37003c
|
chore: 删除 .gemini-clipboard 文件夹并添加到 .gitignore
- 从 Git 仓库中移除 .gemini-clipboard 临时文件
- 将 .gemini-clipboard/ 添加到 .gitignore 防止未来提交
- 保持仓库整洁,避免临时文件污染
|
2026-01-22 22:47:35 +08:00 |
|
Abner
|
32a32541c5
|
fix: 更新 giffgaff OAuth 登录流程以适应外部变更
* 针对 giffgaff OAuth 登录增加了前置条件,要求用户在进行 OAuth 授权前必须先登录 giffgaff 官网。
* 修正了获取回调 URL 的指引,现在引导用户在浏览器控制台中查找报错信息中的回调 URL,而非网络标签页。
* 提供了更详细的控制台报错信息示例,以帮助用户准确复制回调 URL。
* 更新了内部通知系统,添加了关于 giffgaff OAuth 登录方式变更的通知。
* 将原有“OAuth 交换时报错 400 问题”的通知类型从“success”调整为“info”,并设置为非活跃。
|
2026-01-22 22:43:48 +08:00 |
|
Abner
|
4987f1a7fe
|
feat: 添加无需认证的内部通知API并更新前端调用
新增无需认证的内部通知API函数,提供系统状态和功能更新通知服务
- 创建 notifications-internal.js Netlify 函数,支持获取活跃通知及最新通知
- 实现CORS支持,允许指定来源的前端直接调用
- 包含预置通知数据,支持优先级排序和活跃状态过滤
- 更新前端 notification-service 模块以使用新的内部API端点
- 提供错误处理和日志记录机制确保服务稳定性
|
2025-11-30 19:07:37 +08:00 |
|