Безопасность CRM защита данных вашего клуба

Безопасность CRM защита данных вашего клуба

Безопасность данных клиентов — приоритет для любого бизнеса. В обновлении LASERWAR CRM мы исправили 12 SQL-инъекций, 8 XSS-уязвимостей и перенесли все секреты в защищённые переменные окружения.

Что исправлено

SQL-инъекции

  • 12 файлов — все SQL-запросы с пользовательским вводом переведены на параметризованные запросы (bindValue, bindValues)
  • Убраны прямые конкатенации переменных в SQL

XSS (межсайтовый скриптинг)

  • 8 view-файлов — все выводы $_SERVER, пользовательских данных и notification-имён экранированы через Html::encode()
  • Добавлена валидация CSS-цвета в виджете (preg_match)

Хардкоды секретов

Все пароли и ключи перенесены из кода в переменные окружения:

  • VK OAuth → env('VK_CLIENT_ID'), env('VK_CLIENT_SECRET')
  • Facebook OAuth → env('FACEBOOK_CLIENT_ID'), env('FACEBOOK_CLIENT_SECRET')
  • reCAPTCHA → env('RECAPTCHA_V2_SECRET'), env('RECAPTCHA_V3_SECRET')
  • SSH пароли → env('DEPLOY_HOST'), env('DEPLOY_USER'), env('DEPLOY_PASSWORD')
  • Yandex.Metrika → env('YM_COUNTER_ID')

Ограничение доступа

  • Восстановлен ForbiddenHttpException в OrdersController — менеджеры без прав не могут просматривать чужие заказы
  • Ограничение импорта SQL-бэкапов — только DELETE FROM и INSERT INTO

Что нужно сделать владельцам

  1. Обновить .env файл на сервере (добавить переменные из .env.example)
  2. Убедиться, что settings.php не в репозитории (добавлен в .gitignore)

Улучшения почтовой доставляемости

Создан MailMessageConfigurator — централизованная нормализация исходящих писем:

  • Генерация plain-text — автоматическая текстовая версия HTML-писем
  • Sanitization HTML — удаление скрытых preheader-элементов
  • Message-ID — уникальный заголовок для каждого письма
  • Единый отправитель — все письма от noreply@laserwar.com

Попробовать LASERWAR CRM бесплатно →

Поднимитесь на уровень выше!

Попробуйте LASERWAR CRM прямо сейчас