
О сайте
Перевозки и переезды в Мозыре, Калинковичах и по всей Беларуси. На сайте автопарк, цены и фотографии реальных заказов, поэтому машину можно выбрать ещё до звонка.
Что сделано
- Скидка 5% при попытке уйти с сайта как дополнительный повод оставить заявку.
- Квизы под конкретную услугу: сначала предварительная цена без контактов, затем предложение уточнить расчёт по телефону.
- Перенос параметров из калькулятора в заявку, чтобы клиенту не пришлось повторно вносить данные.
- Иллюстрации машин с грузом и размерами кузова, для простоты понимания, какая машина подойдёт.
- Возможность прислать фотографию вместо подробного описания нестандартного груза.
Система управления сайтом
- Автоматическое обновление популярных услуг: система анализирует интерес посетителей за последние 90 дней и меняет подборку из восьми услуг на сайте без ручного редактирования.
- Анализ спроса и сезонных изменений: динамика каждой услуги по месяцам, дням недели и частям месяца, сравнение с предыдущим периодом.
- Оценка рекламы по результатам обращений: менеджер отмечает, купил ли клиент услугу, отказался или ещё решает. Панель сравнивает качество заявок из разных источников и кампаний.
- Разбор потерь до заявки: страницы входа и выхода, глубина просмотра, начало заполнения формы, успешная отправка и ошибки.
- Сохранение контекста обращения: видно, пришёл клиент из квиза, калькулятора или предложения скидки, какие параметры указал и откуда перешёл.
- Автоматические отчёты и предупреждения: сводки в Telegram, уведомления о снижении посещаемости, ошибках форм и битых ссылках; публикация изменений по расписанию.
- Управление сайтом из одной панели: услуги, тарифы, города, автопарк, фотографии и отзывы; предпросмотр перед публикацией.
- Защита изменений и доступов: отдельные роли сотрудников, ограничение попыток входа, история версий и восстановление контента.
Безопасность
Перед сдачей проекта клиенту был проведён внутренний аудит безопасности методом «серого ящика».
Результат: Критических, высоких и средних уязвимостей в финальной сборке проекта не обнаружено.
Защита от 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-трафика.
