旧 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>