
О сайте
Каталог пищевого оборудования разных производителей. Покупатель может сравнить товары между собой и до обращения прочитать о поставке, запуске и сервисе.
Что сделано
- Выбранное оборудование автоматически передаётся в заявку.
- Локальный онлайн-помощник через собственного бота в Телеграме.
- Сравнение только машин одного типа, чтобы было меньше лишней информации при выборе.
- Возможность приложить готовое ТЗ или чертёж вместо переписывания требований в форму.
- Поиск по названиям, описаниям и тегам оборудования на выбранном языке. При отсутствии результатов предлагается обратиться за подбором — посетитель не остаётся в тупике.
Система управления сайтом
- Собственная аналитика: посещения, источники, популярные страницы, заявки и конверсия со сравнением периодов.
- Встроенная CRM: ответственный менеджер, следующий шаг, дата контакта, потенциальная сумма сделки и заметки. Запланированные и просроченные действия показываются отдельно.
- Контроль доставки обращений: заявка сохраняется до отправки в Telegram. При сбое уведомления она остаётся в панели с отметкой о недоставке.
- Генератор QR-кодов: создание и скачивание кодов для страниц оборудования, каталогов и печатных материалов.
- Конвертер изображений: перевод в WebP, JPEG и PNG, настройка качества, изменение размеров и сравнение веса до и после обработки.
- Инструменты для подготовки материалов: конвертер единиц измерения, поиск и замена текста, удаление повторяющихся строк, счётчик слов и генератор иконок сайта.
- Массовое обновление каталога из Excel: импорт CSV/XLSX с предварительным показом изменений вместо редактирования каждой карточки вручную.
- Проверка качества каталога: поиск отсутствующих фотографий, незаполненных характеристик, проблем переводов и 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-трафика.
