
О сайте
Неон, гирлянды и другие световые изделия рядом с примерами коммерческого оформления. Заказчик может собрать комплектацию для здания или сети магазинов и отправить её как запрос на проект.
Что сделано
- Подбор света по задаче, цвету и длине, без необходимости знать технические названия.
- Автоматический расчёт комплектующих к неону: клиенту не нужно самостоятельно собирать совместимый набор.
- Добавление товара сразу с комплектующими одной кнопкой.
- Сохранение корзины между посещениями.
- Товары и параметры проекта автоматически попадают в обращение.
- Дополнительные поля формы спрятаны под раскрывающимся блоком, чтобы первоначально не перегружать клиента.
- Поиск понимает опечатки, неправильную раскладку и транслит, ищет по характеристикам. Например, «неон», «neon» и «ytjy» помогают найти нужный товар; разные написания размеров и напряжения приводятся к одному виду.
Система управления сайтом
- Собственная аналитика обращений: воронка «посещение → начало формы → отправка», источники и рекламные UTM-кампании.
- Отчёт об интересе к ассортименту: видно, какие товары, категории и готовые решения изучают посетители.
- Заявка с готовым составом заказа: товары, количество, приложенные файлы и страница обращения доступны менеджеру в карточке.
- Разделение обращений по задачам: закупка товаров, расчёт проекта, дилерский запрос, обратный звонок или вопрос.
- Общий поиск по админке: товары, артикулы, категории, публикации, объекты и поля страниц находятся из одного места.
- Управление всем коммерческим содержимым: ассортимент, цены, объекты, публикации, SEO и перенаправления.
- Проверяемые резервные копии: база, изображения и файлы заявок собираются в архив с проверкой целостности базы и контрольной суммы.
- Защищённый доступ: пароли хранятся в виде стойких хешей, административные сессии имеют ограниченный срок действия.
Безопасность
Перед сдачей проекта клиенту был проведён внутренний аудит безопасности методом «серого ящика».
Результат: Критических, высоких и средних уязвимостей в финальной сборке проекта не обнаружено.
Защита от SQL-инъекций и инъекций команд
- Проверка: Автоматизированный перебор параметров с помощью
sqlmapи ручной фаззинг форм ввода. - Как реализована защита: Исходный код полностью исключает конкатенацию строк в SQL-запросах. Использовано встроенное ORM-экранирование фреймворка. Доступ приложения к СУБД ограничен правами
Data Reader/Writerбез доступа к системным таблицам.
Защита от XSS
- Проверка: Попытки внедрения вредоносных JS-скриптов во все пользовательские текстовые поля.
- Как реализована защита: Внедрён строгий шаблонизатор с автоэкранированием HTML-сущностей. На уровне веб-сервера развёрнута жёсткая политика Content Security Policy (CSP), запрещающая исполнение любого стороннего или небезопасного встроенного (inline) кода.
Безопасность компонентов
- Проверка: Анализ состава программного обеспечения (SCA) инструментами
SnykиDependency-Check. - Как реализована защита: Все используемые пакеты зафиксированы на стабильных версиях без известных уязвимостей из базы NVD. Настроено автоматическое уведомление о выходе патчей безопасности для зависимостей.
Изоляция админки
- Как реализована защита: Админка полностью вынесена на отдельный поддомен, закрыта от индексации поисковыми роботами и защищена от брутфорса механизмом
Fail2ban(блокировка IP после 5 неверных попыток). Вход в админ-панель требует обязательной двухфакторной аутентификации (2FA / TOTP).
Устойчивость к DDoS и нагрузкам
- Проверка: Стресс-тестирование утилитой
k6для имитации легитимного наплыва пользователей и атак типа HTTP-флуд. - Как реализована защита: На уровне Nginx настроены лимиты запросов (
limit_req), отдающие ошибку 429 при превышении лимитов с одного IP. Архитектура подготовлена к бесшовной интеграции с внешними сервисами (например, Cloudflare / Qrator) для фильтрации L4/L7-трафика.
