Commit Graph

2 Commits

Author SHA1 Message Date
61f74054f9 fix(Minor M3): blog / github 加回 URL 校验
旧 account/serializers.py:125,127 是 serializers.URLField,迁移时降级成了
z.string().max(256)。这两个字段会被前端渲染成可点击链接,放任自由字符串等于
允许写入 javascript: 一类伪协议。

只放行 http(s)://,空串表示清空。实测 javascript:alert(1) 与 not a url 均 400,
https://example.com/x 与空串 200。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 07:01:13 -06:00
8c00cdc947 feat(阶段3): oj 侧端点铺开(基线提交,未经评审)
由外部 agent (Codex) 在本会话额度中断期间完成。原样提交作为基线,
后续修复单独成 commit,便于区分与回退。

覆盖 oj 侧 65 个端点,新增 9 组路由(account/achievement/ai/classroom/
content/contest/flowchart/problemset/site)与对应 Zod 契约。

已核验:tsc --noEmit 退出码 0;API 可启动;/api/problems 返回真实数据;
judge 与 flowchart worker 均 ready。
未核验:权限边界与数据泄露,评审进行中。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 01:25:36 -06:00