refactor: 移除注册验证码,删掉 pillow

验证码只剩注册一处调用方,一并去掉。

- UserRegisterAPI 的校验、UserRegisterSerializer 的 captcha 字段、
  发图的 captcha 路由
- utils/captcha/ 整个包删除,含 Menlo.ttc 和 timesbi.ttf 两个字体
- utils/shortcuts.py 的 img2base64(),唯一调用方是验证码视图
- 依赖删除 pillow(本地实测 PIL/ 5.9M + pillow.libs/ 14M)

注意:注册接口现在只有 SysOptions.allow_register 一个开关,没有限流,
throttling 目前只用在 SubmissionAPI 上。内网自用可以接受,站点若暴露到
公网需要补 IP 维度限流。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-05 23:48:00 -06:00
parent 12c12b1840
commit fda7515263
11 changed files with 0 additions and 263 deletions

View File

@@ -1,8 +1,6 @@
import os
import random
import re
from base64 import b64encode
from io import BytesIO
from django.utils.crypto import get_random_string
@@ -38,15 +36,6 @@ def build_query_string(kv_data, ignore_none=True):
return query_string
def img2base64(img):
with BytesIO() as buf:
img.save(buf, "gif")
buf_str = buf.getvalue()
img_prefix = "data:image/png;base64,"
b64_str = img_prefix + b64encode(buf_str).decode("utf-8")
return b64_str
def datetime2str(value, format="iso-8601"):
if format.lower() == "iso-8601":
value = value.isoformat()