Авторизация на сайте

a

Архитектура системы аутентификации и вход в личный кабинет

Процедура входа на сайт реализована на основе клиент-серверного взаимодействия с использованием протокола HTTPS и TLS 1.3. Для хранения учётных записей применяется хеширование паролей алгоритмом bcrypt с солью, что исключает расшифровку даже при компрометации базы данных. Система автоматически блокирует IP-адреса после 5 неудачных попыток в течение 15 минут — это защита от брутфорса. Каждый запрос авторизации проходит проверку CSRF-токена, генерируемого для сессии. Учётная запись однозначно привязывается к пользователю, заказавшему сигнализацию или аудиосистему, без возможности дублирования логинов. Используется отдельная микросервисная архитектура для обработки аутентификации, что изолирует данные от основного каталога товаров.

Материалы и технические спецификации сессионных данных

Сессионные ключи генерируются через криптостойкий генератор псевдослучайных чисел (CSPRNG) с длиной 256 бит. Срок действия сессии — 30 минут неактивности, после чего требуется повторный ввод пароля. Для пользователей, заказывающих автозапуск или дорогие устройства, доступна опция «Запомнить меня» с использованием долгоживущих токенов (Refresh Token), которые хранятся в HttpOnly-куках с атрибутами Secure и SameSite=Strict. В отличие от стандартных решений на сессионных куках без шифрования, наша система применяет JWT (JSON Web Tokens) с цифровой подписью RS256, что позволяет проверять целостность данных на стороне клиента без обращения к серверу — это уменьшает нагрузку при высоком трафике. Все токены подписываются приватным ключом, который ротируется каждые 30 дней.

Отличия от альтернативных методов входа

В отличие от OAuth-провайдеров (Google, VK), которые передают данные через сторонние сервисы, мы используем собственную аутентификацию с дополнительным слоем безопасности — двухфакторную аутентификацию (2FA) через TOTP (Time-based One-Time Password). Алгоритм основан на стандарте RFC 6238 с шагом 30 секунд. Это критично для защиты личных данных при покупке сигнализаций и аудиосистем, где история заказов содержит конфиденциальную информацию об автомобиле. Внедрена поддержка аппаратных ключей U2F (FIDO2) — для технически продвинутых клиентов. Система блокирует использование устаревших протоколов, включая HTTP Basic Auth. Каждый вход логируется с метаданными: IP, User-Agent, временная метка — эти данные недоступны пользователю, но используются для обнаружения аномалий. В отличие от упрощённых решений, у нас нет аутентификации по SMS-коду (из-за уязвимости SIM-swap), только программные TOTP или аппаратные ключи.

Производственные стандарты и контроль качества

Разработка модуля авторизации соответствует стандартам ISO 27001 (информационная безопасность) и PCI DSS (для обработки платёжных данных, даже если оплата производится через сторонние шлюзы). Регулярное пентестирование системы аутентификации проводится ежеквартально внутренней командой и раз в год внешним аудитором. Проверка на утечки данных через уязвимости SQL-инъекций выполняется динамически — все запросы к базе данных проходят через ORM с подготовленными выражениями. Каждый релиз модуля авторизации проходит регрессионное тестирование на 100+ сценариях, включая попытки ввода NULL-символов, Unicode-нормализацию и тайминговые атаки. Для обеспечения качества используется система CI/CD с автоматическими проверками линтерами безопасности (Bandit для Python, Checkmarx для Java). Стек разработки: Python 3.12 (FastAPI) для серверной логики, Redis для кэша сессий, PostgreSQL для хранения учётных данных. Хеши паролей не используются в логировании даже в обезличенном виде.

Дополнительные технические возможности для авторизованных пользователей

После входа в систему пользователь получает доступ к персонализированному каталогу автоэлектроники с учётом истории просмотров (cookies не используются для трекинга — только токены). Для клиентов, заказывающих системы автозапуска и сигнализации, в личном кабинете доступна загрузка сертификатов соответствия. Авторизация через API поддерживает REST-запросы с Bearer-токенами для интеграции с мобильными приложениями. Все действия (просмотр, добавление в корзину) ассоциируются с сессией и сохраняются до момента ручного выхода или истечения токена. Политика паролей: минимум 12 символов, обязательное включение цифр, заглавных букв и спецсимволов. Каждые 90 дней пользователю предлагается сменить пароль (опционально, не принудительно). Для администраторов — дополнительная аутентификация через аппаратный ключ.

Сравнение с типовыми решениями: безопасность и удобство

  1. Первый этап входа: валидация логина и пароля с хеш-функцией.
  2. Второй этап (опционально): TOTP-код с Гугл Аутентификатора или YubiKey.
  3. Третий этап: генерация JWT-токенов и перенаправление в каталог автоэлектроники.

Добавлено: 27.04.2026