Безопасность интеграций
Эти правила применяются к сайтам, лаунчеру, пользовательским кабинетам и внешним интеграциям, которые работают с MMO-DEV WEB API.
Клиентские запросы
- Отправляйте только
documentIdиvariables; не передавайте полеqueryиз браузера. - Передавайте только поля, указанные в описании операции.
- Не подменяйте сервер авторизованной сессии. Передавайте
variables.gameServerIdтолько документам, где сервер является явной целью запроса. - Используйте
Authorization: Bearer <sessionId>только после успешной авторизации. - Не храните пароли, PIN-коды, 2FA-коды и токены в URL, localStorage или логах.
Веб-аналитика
- Для сайта используйте штатный код аналитики из кабинета или шаблонную функцию, если она доступна в теме.
- Не отправляйте IP-адрес, User-Agent или закрытые ключи из браузера.
- События сайта должны содержать только пользовательский контекст события: страницу, тип события, размеры экрана, язык, UTM и безопасные технические метрики.
Ключи и доступы
- Используйте только те ключи, которые отображаются в панели управления для конкретной интеграции.
- Не передавайте ключи доступа в публичный JavaScript, URL, шаблоны страниц или клиентские логи.
- Ключи платёжных систем, почтовых провайдеров, социальных приложений и других интеграций храните только в настройках проекта. Не переносите такие значения в шаблоны, JavaScript, URL или клиентские логи.
Логи и отладка
Логируйте documentId, HTTP status, категорию ошибки и технический request id, если он есть. Маскируйте email, токены, ключи, кошельки, PIN и любые платёжные реквизиты.
Перед релизом
Проверьте чеклист интеграции, ошибки API и права доступа для всех операций, которые доступны пользователю без сессии.