Добавлена кастомная страница ошибки CSRF и увеличено время сессии

- Создан шаблон templates/403_csrf.html с дружелюбным интерфейсом для пользователей
  * Красивый дизайн с градиентом и анимациями
  * Понятное объяснение причин ошибки (истёкшая сессия, кнопка Назад)
  * Кнопка обновления страницы для быстрого решения
  * Адаптивная вёрстка для мобильных устройств

- Увеличено время жизни сессии в settings.py:
  * SESSION_COOKIE_AGE = 28 дней (было по умолчанию 2 недели)
  * SESSION_SAVE_EVERY_REQUEST = True (продлевать при активности)
  * CSRF_COOKIE_AGE = 1 год (чтобы токен не устаревал быстро)
  * Добавлены флаги безопасности SECURE для прода (HTTPS-only)

Теперь на проде пользователи не увидят технический текст ошибки CSRF,
а получат понятное сообщение с инструкцией по решению проблемы.
This commit is contained in:
2026-01-07 20:40:21 +03:00
parent efd0a2b66e
commit 1c1a95df76
3 changed files with 158 additions and 32 deletions

View File

@@ -1,32 +0,0 @@
# Django settings
SECRET_KEY=change-this-to-a-secure-random-key-in-production-min-50-chars
DEBUG=False
ALLOWED_HOSTS=yourdomain.com,*.yourdomain.com,localhost,127.0.0.1
# Database (PostgreSQL)
DB_NAME=inventory_db
DB_USER=postgres
DB_PASSWORD=your-secure-postgres-password-here
DB_HOST=db
DB_PORT=5432
# Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_DB=0
# Celery
CELERY_BROKER_URL=redis://redis:6379/0
# Tenant Admin (создаётся при первом запуске)
TENANT_ADMIN_EMAIL=admin@example.com
TENANT_ADMIN_PASSWORD=change-this-secure-password
TENANT_ADMIN_NAME=Admin
# Django-tenants
# Основной домен для public схемы
PUBLIC_SCHEMA_DOMAIN=yourdomain.com
# Domain settings for multi-tenant URLs
TENANT_DOMAIN_BASE=yourdomain.com
USE_HTTPS=True