Обновления платформы: релиз 2026.07 (июль 2026)

Коротко. Релиз платформы Gambling Soft 2026.07 (июль 2026): полный аудит безопасности движка казино с 38 изменениями, проход по производительности (вес страниц и покерные демоны), переработанное переключение языка, завершённое сопоставление вебхуков Twix, непрерывная интеграция для синтаксиса и модульных тестов, освобождение демо-доменов от месячной платы за GGR. 88 изменений, затронуто 802 файла.

Релиз 2026.07 в одной таблице

Область Главное
Аудит безопасности Закрыты двойное зачисление и гонки промокодов, подписанный вход через соцсети и Telegram, правки IDOR, флаги cookie сессии, заголовки безопасности, случайные токены, проверка загрузок, изоляция арендаторов в админке
Производительность WebP для каталога и баннеров, шрифты и jQuery со своего домена, запасной H.264 для HEVC-видео, стабильная версия статики, разнесённые покерные демоны, 3 470 до 1 215 запросов в секунду в цикле неактивных игроков
Локализация Переработка переключения языка: приоритет cookie, чистые адреса, без сброса при навигации и смене вкладки
Платежи Сопоставление вебхуков Twix по id заказа; ужесточение колбэков GreenApi и Antrpay
Инженерия Проверка синтаксиса PHP, оживлённый набор модульных тестов (131 тест), CI на push и pull request
Биллинг Демо-домены без месячной платы за оборот GGR; отрицательные балансы остановлены

Аудит безопасности (29 июля)

  • Исправлено: денежные гонки. Двойное зачисление депозита при параллельных колбэках; кратное начисление при параллельной активации промокода (теперь уникален на игрока, с миграцией); заявки на вывод создаются в одной транзакции с блокировкой строки игрока; /livedata списывает ставку дельтой, а не записывает абсолютный баланс.
  • Улучшено: аутентификация. Вход через Telegram проверяет подпись initData, а не голый id; данные соцвхода подписываются, закрыт захват аккаунта через регистрацию; разорвана цепочка «утёкший хеш пароля ведёт ко входу»; ослаблен путь remember-me, обходивший двухфакторную аутентификацию; токены чата, покера и провайдера случайные, а не вычислимые (существующие перевыпущены миграцией).
  • Улучшено: инъекции и вывод. Закрыты SQL-инъекции в покупке баф-карточки и в исходящем постбэке; параметры привязаны в старых обработчиках; конструктор SQL не принимает обход экранирования через ведущую скобку; закрыты объектная инъекция, OAuth по HTTP и утечка путей; экранированы имя и фамилия профиля (хранимый XSS); закрыт обход пути в SSE-сервисе.
  • Улучшено: контроль доступа. Два случая IDOR (крипто-адреса и переписка с поддержкой) ограничены владельцем; чтения между арендаторами в админке ограничены доменом и владельцем; начисление и списание баланса, операции с выплатами и правка игрока в админке только для своих игроков и домена; миграции по HTTP только администратору; финансовый журнал, VIP-токен и служебные эндпоинты закрыты; чужой логин нельзя записать в турнир.
  • Улучшено: транспорт и файлы. Cookie сессии HttpOnly, SameSite и Secure по HTTPS; заголовки X-Frame-Options, nosniff и Referrer-Policy; журналы, ключи и конфигурации не отдаются из api/ и engine/; тип загружаемого файла берётся из содержимого, а не из имени; исполняемые файлы не отдаются из каталогов загрузок; помощник безопасных имён загрузок в движке и админке.
  • Улучшено: интеграции. Колбэки Antrpay проверяются секретом в адресе колбэка вместо списка IP; сумма депозита GreenApi берётся у провайдера, а не из тела колбэка; партнёрский API списывает по подписанному логину с ключом в окружении; /livedata защищён от повтора, секрет подписи в окружении.

Производительность (29 и 30 июля)

  • Улучшено: картинки. WebP для каталога игр (фон страницы игры 306 до 155 КБ, плитки в среднем 169 до 25 КБ), баннеров слайдера и плиток турниров; 208 контентных картинок пережаты (113 до 93 МБ); уменьшенные видео-баннеры с запасными копиями H.264 для HEVC, который не играл в Firefox.
  • Улучшено: критический путь. jQuery и шрифты со своего домена во всех живых темах (убран @import внутри стилей Violet2); стабильная версия статики вместо случайного значения, кеш браузера работает.
  • Улучшено: покерные демоны. Запуск разнесён по времени, всплесков нагрузки вчетверо меньше; банки прошлых раздач очищаются; холостой цикл очистки неактивных игроков снижен с 3 470 до 1 215 запросов в секунду.
  • Исправлено: темы. Логотип Velvet (дубли id внутри SVG, размытый логотип на iPhone), поиск и дозагрузка игр в Ocean и Violet2, мёртвые ссылки в Gringo, фон слайдера в Cat.

Локализация

  • Улучшено: переключение языка. Cookie языка имеет высший приоритет, ставится с явными атрибутами и переживает смену вкладки и навигацию гостя; переключение ведёт на чистый адрес; порядок запасных языков ужесточён; общий кеш страниц обходится при выбранном языке.

Платежи

  • Исправлено: Twix. Вебхуки сопоставляются с платежами по id заказа, а не только по имени пользователя, депозиты зачисляются надёжно; ссылка на оплату формируется без токена мерчанта.
  • Исправлено: id пользователя транзакции провайдера принимается целым числом.

Инженерия

  • Новое: проверка синтаксиса PHP в CI и в хуках разработки.
  • Новое: оживлён набор модульных тестов. 131 тест проходит; набор выполняется на каждый push и pull request.
  • Новое: помощники шаблонов для уникальных id SVG и двух источников видео.

Биллинг

  • Улучшено: демо-домены освобождены от месячной платы за оборот GGR, отрицательные демо-балансы сброшены миграцией.

Совместимость и обновление

  • Миграции: предсказуемые токены игроков и VIP перевыпускаются, промокоды становятся уникальными на игрока, отрицательные демо-балансы сбрасываются.
  • Окружение: секреты подписи партнёрского API и /livedata, секрет колбэка Antrpay.
  • Темам со сторонними CDN для шрифтов или jQuery следует перейти на встроенные копии.

Поставка клиентам

Проекты на хостинге Gambling Soft обновляет наша команда. Владельцы лицензии на исходный код получают релиз из репозитория на условиях своей поддержки. Вопросы по конкретному пункту: страница контактов. Все выпуски: раздел Обновления платформы.

1

Хотите запустить собственное онлайн-казино?

Готовы запустить или масштабировать ваш iGaming проект?