К содержанию
Nika CRM

Блог ·

Усиление входа и паролей ЛК

14 августа 2026: общий lockout по Redis, ссылка задать пароль в письме, пароль ЛК не хранится открытым текстом, TRUSTED_HOSTS обязателен в production.

14 августа 2026: hardening Nika Service CRM — общий lockout по Redis, ссылка «задать пароль» в письме, пароль ЛК больше не хранится открытым текстом.

Вход сотрудников и клиентов

  • После нескольких неудачных попыток вход блокируется. Счётчик общий для всех процессов gunicorn, если задан REDIS_URL (на Docker — сервис Redis).
  • Сессия при успешном входе staff сбрасывается, чтобы не утащить чужие ключи из cookie.
  • Remember-me: HttpOnly, SameSite=Lax, срок 14 дней, Secure при HTTPS.

Личный кабинет клиента по-прежнему отдельный от CRM сотрудников: cookie ЛК не открывает /all_orders и зарплату.

Пароль кабинета

Пароль клиента в базе — только хеш. В журнал действий и логи приложения открытый пароль не пишется.

  • При создании клиента сотрудник видит пароль один раз в ответе.
  • Дальше только сброс: задать новый в карточке клиента.
  • В письме «Заказ принят» — ссылка ##PORTAL_SETUP_URL## (действует 2 дня) на /portal/set-password, а не постоянный пароль в тексте. Нужен PORTAL_PUBLIC_URL.

Подробный сценарий кабинета: вход в портал.

Хост и загрузки

  • В production список TRUSTED_HOSTS обязателен (пустой — приложение не стартует).
  • Файлы комментариев и чата отдаются только из каталога uploads.
  • SVG в загрузках счетов больше не принимается.

Самохостинг: проверьте .envTRUSTED_HOSTS, REDIS_URL, PORTAL_PUBLIC_URL. Демо: service.nika-crm.ru (откроется в новой вкладке).

← Все записи блога · Документация