Регистрация: throttle по IP от спама аккаунтов

throttle_register ограничивает частоту POST /api/auth/register с одного IP
через тот же LoginThrottle (считаются все попытки). Enumeration ников через
409 не закрываем — ники и так публичны в топе (отмечено в отчёте). #62

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XfTsytzT6TojfmprRDKiV6
This commit is contained in:
2026-09-13 17:16:49 +03:00
co-authored by Claude Opus 4.8
parent 038a788f99
commit 112b583264
3 changed files with 37 additions and 1 deletions
+2 -1
View File
@@ -8,7 +8,7 @@ from fastapi import APIRouter, Depends, Request, Response
from sqlmodel import Session
from app.auth.login import establish_session
from app.auth.password import login_player
from app.auth.password import login_player, throttle_register
from app.auth.registry import enabled_methods
from app.auth.telegram import TelegramProvider
from app.core import security
@@ -39,6 +39,7 @@ def password_register(
session: Session = Depends(get_session),
) -> s.MeRead:
"""Регистрация по логину (нику) и паролю. Telegram привязывается позже в профиле."""
throttle_register(client_ip(request)) # против спама аккаунтов с одного IP (#62)
user = user_service.register_local(session, body.nickname, body.password)
audit_service.record(
session,