- gunicorn вместо dev-сервера Werkzeug; non-root user в Dockerfile - volume sqlite_data для БД (заявки не теряются при rebuild) - consultations.db и data/ в .dockerignore (ПДн не попадают в образ) - Secure-куки по умолчанию (COOKIE_SECURE=1), лимит сессии 12ч - защитные заголовки: CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy - MAX_CONTENT_LENGTH 64КБ - анти-брутфорс админки: 5 попыток -> блокировка 15 мин + лимит 5/мин - обязательный чекбокс согласия на обработку ПДн + страница /privacy - .env.example: понятные плейсхолдеры, COOKIE_SECURE
10 lines
445 B
Bash
10 lines
445 B
Bash
# Обязательные переменные. Без них приложение не запустится.
|
|
SECRET_KEY=change-me-strong-random-secret
|
|
ADMIN_PASSWORD=change-me-strong-admin-password
|
|
|
|
# Secure-куки: сайт работает только по HTTPS, держать включённым (=1)
|
|
COOKIE_SECURE=1
|
|
|
|
# Необязательные
|
|
# FLASK_DEBUG=1 # только для локальной разработки
|