Seguridad: rate limiting, códigos de un solo uso, rotación de FERNET_KEY
- utils/rate_limiter.py: ventana deslizante 20 req/60s por chat_id, aplicado en todos los handlers de telegram_bot.py - database.py: tabla invite_codes (un solo uso por código), funciones crear_invite_code() y verificar_y_consumir_invite_code() - onboarding.py: verifica primero en DB (un solo uso), fallback al INVITE_CODE del .env (ilimitado, para uso interno) - scripts/generar_codigo.py: genera 1 o N códigos de invitación - scripts/rotar_fernet_key.py: re-cifra todos los tenants y el .env con nueva FERNET_KEY, backup automático de .env antes de escribir Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,12 @@ FERNET_KEY=
|
||||
PJ_USUARIO_ENC=
|
||||
PJ_PASSWORD_ENC=
|
||||
|
||||
# ─── Código de invitación ──────────────────────────────────────────────────────
|
||||
# Si está configurado, el bot lo pide antes de permitir el registro.
|
||||
# Vacío = cualquiera puede registrarse (no recomendado en producción).
|
||||
# Ejemplo: INVITE_CODE=estudio2026
|
||||
INVITE_CODE=
|
||||
|
||||
# ─── Telegram ──────────────────────────────────────────────────────────────────
|
||||
# Token del bot: hablarle a @BotFather en Telegram → /newbot
|
||||
TELEGRAM_BOT_TOKEN=
|
||||
|
||||
Reference in New Issue
Block a user