log_entry_20260213.md
寒假 Day 23 复盘日志
#2026-winter-log
今日关键词:安全事故、数据泄露、紧急止损、作息崩塌。
📊 时间账单 (Time Log)
- 起床时间:12:00 ⚠️ (严重警告:作息防线失守,上午时段直接归零)
- 有效开发时长(技术):~ 5 小时 (紧急响应:数据泄露排查 + 接口清洗 + 功能下线)
- 有效学习时长(考研):~ 1 小时 (背单词 + 0.5小时英语课,仅维持最低限度)
- 运动/户外:跳绳 1000 个 ⚡ (虽然起得晚,但运动没落下,这点值得肯定)
- 408 / 数学:❌ 挂起 (完全让位给突发技术事故)
💻 开发日志 (Project: BrainTrainSystem)
今日阶段:安全危机与应急响应 (Security Incident Response) 🚨
- 突发事件:遭遇“抓包攻击”。
- 现象:有用户通过浏览器开发者工具(Network Tab)或抓包工具,直接获取了排行榜 API 的原始 JSON 响应,其中包含了所有用户的敏感字段(如
user_id/ UUID)。 - 原因分析:典型的 Over-fetching (过度获取) 问题。后端在查询 Supabase 时直接使用了
select *,虽然前端 UI 只展示了分数,但 HTTP 响应体里却裸露了所有数据。
- 现象:有用户通过浏览器开发者工具(Network Tab)或抓包工具,直接获取了排行榜 API 的原始 JSON 响应,其中包含了所有用户的敏感字段(如
- 应急措施:
- 紧急熔断:果断关闭/隐藏了排行榜功能,防止 User ID 进一步扩散被用于恶意枚举或撞库。
- 架构反思:深刻理解了 DTO (Data Transfer Object) 和 RLS (Row Level Security) 的重要性。后续必须限制 API 返回字段,只返回
username,score,rank,严格过滤id和email。
📚 考研进度 (Study Progress)
- 英语:✅ 微量维持。听课 0.5 小时。虽然时间短,但在作息大乱的情况下还能听半小时,实属不易。
- 数学:❌ 缺席。
- 408 (计组):❌ 缺席。
- 总结:起床太晚导致上午黄金时间消失,下午处理 Bug,晚上心情受影响。全天几乎无学术产出。
❤️ 身体与生活 (Body & Life)
- 状态:📉 混乱与焦虑。中午起床会带来强烈的“亏欠感”,加上技术上的安全打击,今天的心态是寒假以来最差的一天。这种“被黑客教做人”的感觉虽然难受,但比书本上的理论深刻一万倍。
- 运动:💪 兜底。1000 个跳绳是你今天唯一掌控住的事情。
🛑 深度反思 & Day 24 策略 (Reflection)
反思 (Review):
- 安全无小事:以前觉得
select *方便,今天终于付出了代价。这在 408 计网和操作系统里都是活生生的例子(数据链路安全、权限控制)。 - 作息红线:12 点起床是绝对不能接受的。寒假余额不足,如果不能把生物钟拨回 9 点,开学后会非常痛苦。
明日策略 (Next Step):
- 修复作息:定 3 个闹钟,明早 9:00 必须起!起不来就废了。
- 技术修复:利用 Supabase 的
Query Selecting功能修复 API,只透出必要字段,重新上线排行榜。限时 2 小时。 - 数学抢救:作息正常后,上午必须给数学留 2 小时。
- 408 复活:计组看 45 分钟。
End of log.
Return to Index