Безопасность 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
Что нужно сделать владельцам
- Обновить
.envфайл на сервере (добавить переменные из.env.example) - Убедиться, что
settings.phpне в репозитории (добавлен в.gitignore)
Улучшения почтовой доставляемости
Создан MailMessageConfigurator — централизованная нормализация исходящих писем:
- Генерация plain-text — автоматическая текстовая версия HTML-писем
- Sanitization HTML — удаление скрытых preheader-элементов
- Message-ID — уникальный заголовок для каждого письма
- Единый отправитель — все письма от
noreply@laserwar.com