fix: закрыть IDOR в бронях, пароль админа и обработку callback_data (PRJ-3)

- IDOR: отмена/редактирование брони только владельцем (проверка user_id)
- пароль админа: убран дефолт admin123, обязателен из env; сравнение через hmac.compare_digest; TTL сессии 1ч
- callback_data: безопасный парсинг int + .get() вместо прямого индексирования (KeyError/ValueError)
This commit is contained in:
2026-08-04 19:33:08 +04:00
parent bf26370da9
commit 896c26bd57
5 changed files with 65 additions and 11 deletions
+4 -1
View File
@@ -4,11 +4,14 @@ from dotenv import load_dotenv
load_dotenv()
BOT_TOKEN = os.getenv("BOT_TOKEN")
ADMIN_PASSWORD = os.getenv("ADMIN_PASSWORD", "admin123")
ADMIN_PASSWORD = os.getenv("ADMIN_PASSWORD")
if not BOT_TOKEN:
raise ValueError("BOT_TOKEN not found in environment")
if not ADMIN_PASSWORD:
raise ValueError("ADMIN_PASSWORD not found in environment (no default allowed)")
# Services catalog
SERVICES = {
"service_massage": "💪 Массаж",