Всем привет! Мы вводим Content Security Policy. Этот функционал используется в целях безопасности и призван исключить нежелательный контент. Поэтому мы хотели бы рассказать про новые правила доступа к хостам: что поменялось и как будет работать подключение. Кроме того, здесь вы можете узнать, как подключить внешний хост, если это необходимо для вашей игры. Что нужно учесть, чтобы игра прошла модерацию и работала как задумано, а пользователи продолжали играть без проблем? Читайте в тексте!
Про новые правила
Теперь для дополнительной безопасности в игры, размещённые на сервисе, в index.html будет добавляться элемент meta. Например, так:
<meta http-equiv="Content-Security-Policy" content="child-src 'self' *.yandex.com *.yandex.ru; connect-src 'self' *.unity3d.com *.yandex.com *.yandex.ru; ...">
После того, как правила доступа обновятся, рекомендуем проверить выпущенные игры. Если что-то работает некорректно — обратитесь в поддержку.
В вашей игре могут быть не активированы csp-правила, если вы за последний месяц её не обновляли. Тогда в консоли, в начале, будут появляться ошибки с [Report Only], которые не должны никак влиять на работоспособность игр.
Пример такой ошибки:
[Report Only] Refused to frame 'https://imasdk.googleapis.com/' because it violates the following Content Security Policy directive: "frame-src 'self' localhost yastatic.net".
Для обновлённых и загруженных игр будут указаны директивы по умолчанию, разрешающие загрузку ресурсов с сервиса Яндекс Игр и некоторых других популярных и доверенных источников. Кроме того, эти правила сразу применяются для всех новых игр.
Если нужны разрешения для внешних ресурсов…
Все разрешенные хосты указаны в списке ниже, остальные по умолчанию запрещены, при попытке подключения они работать не будут. Однако, если для вашей игры требуется определенный хост, вы можете отправить запрос в службу поддержки с обоснованием необходимости.
Список разрешенных хостов:
<meta http-equiv="Content-Security-Policy" content="child-src 'self' blob: yandex.az yandex.by yandex.co.il yandex.com yandex.com.am yandex.com.ge yandex.com.tr yandex.ee yandex.fr yandex.kg yandex.kz yandex.lt yandex.lv yandex.md yandex.ru yandex.tj yandex.tm yandex.ua yandex.uz *.yandex.az *.yandex.by *.yandex.co.il *.yandex.com *.yandex.com.am *.yandex.com.ge *.yandex.com.tr *.yandex.ee *.yandex.fr *.yandex.kg *.yandex.kz *.yandex.lt *.yandex.lv *.yandex.md *.yandex.ru *.yandex.tj *.yandex.tm *.yandex.ua *.yandex.uz connect-src 'self' blob: data: *.yandex.net yastatic.net yandexmetrica.com www.google-analytics.com www.googletagmanager.com *.unity3d.com *.eponesh.com *.gameanalytics.com storage.yandexcloud.net *.website.yandexcloud.net yandex.az yandex.by yandex.co.il yandex.com yandex.com.am yandex.com.ge yandex.com.tr yandex.ee yandex.fr yandex.kg yandex.kz yandex.lt yandex.lv yandex.md yandex.ru yandex.tj yandex.tm yandex.ua yandex.uz *.yandex.az *.yandex.by *.yandex.co.il *.yandex.com *.yandex.com.am *.yandex.com.ge *.yandex.com.tr *.yandex.ee *.yandex.fr *.yandex.kg *.yandex.kz *.yandex.lt *.yandex.lv *.yandex.md *.yandex.ru *.yandex.tj *.yandex.tm *.yandex.ua *.yandex.uz default-src 'self'; font-src 'self' yastatic.net yastat.net fonts.gstatic.com storage.yandexcloud.net *.website.yandexcloud.net yandex.az yandex.by yandex.co.il yandex.com yandex.com.am yandex.com.ge yandex.com.tr yandex.ee yandex.fr yandex.kg yandex.kz yandex.lt yandex.lv yandex.md yandex.ru yandex.tj yandex.tm yandex.ua yandex.uz *.yandex.az *.yandex.by *.yandex.co.il *.yandex.com *.yandex.com.am *.yandex.com.ge *.yandex.com.tr *.yandex.ee *.yandex.fr *.yandex.kg *.yandex.kz *.yandex.lt *.yandex.lv *.yandex.md *.yandex.ru *.yandex.tj *.yandex.tm *.yandex.ua *.yandex.uz frame-src 'self' localhost yastatic.net *.website.yandexcloud.net; img-src 'self' blob: data: yastatic.net *.yandex.net *.eponesh.com *.website.yandexcloud.net storage.yandexcloud.net yandex.az yandex.by yandex.co.il yandex.com yandex.com.am yandex.com.ge yandex.com.tr yandex.ee yandex.fr yandex.kg yandex.kz yandex.lt yandex.lv yandex.md yandex.ru yandex.tj yandex.tm yandex.ua yandex.uz *.yandex.az *.yandex.by *.yandex.co.il *.yandex.com *.yandex.com.am *.yandex.com.ge *.yandex.com.tr *.yandex.ee *.yandex.fr *.yandex.kg *.yandex.kz *.yandex.lt *.yandex.lv *.yandex.md *.yandex.ru *.yandex.tj *.yandex.tm *.yandex.ua *.yandex.uz media-src 'self' blob: data: *.yandex.net *.website.yandexcloud.net storage.yandexcloud.net yandex.az yandex.by yandex.co.il yandex.com yandex.com.am yandex.com.ge yandex.com.tr yandex.ee yandex.fr yandex.kg yandex.kz yandex.lt yandex.lv yandex.md yandex.ru yandex.tj yandex.tm yandex.ua yandex.uz *.yandex.az *.yandex.by *.yandex.co.il *.yandex.com *.yandex.com.am *.yandex.com.ge *.yandex.com.tr *.yandex.ee *.yandex.fr *.yandex.kg *.yandex.kz *.yandex.lt *.yandex.lv *.yandex.md *.yandex.ru *.yandex.tj *.yandex.tm *.yandex.ua *.yandex.uz script-src 'self' 'unsafe-eval' 'unsafe-inline' blob: data: yastatic.net www.google-analytics.com www.googletagmanager.com *.eponesh.com *.gameanalytics.com storage.yandexcloud.net *.website.yandexcloud.net yandex.az yandex.by yandex.co.il yandex.com yandex.com.am yandex.com.ge yandex.com.tr yandex.ee yandex.fr yandex.kg yandex.kz yandex.lt yandex.lv yandex.md yandex.ru yandex.tj yandex.tm yandex.ua yandex.uz *.yandex.az *.yandex.by *.yandex.co.il *.yandex.com *.yandex.com.am *.yandex.com.ge *.yandex.com.tr *.yandex.ee *.yandex.fr *.yandex.kg *.yandex.kz *.yandex.lt *.yandex.lv *.yandex.md *.yandex.ru *.yandex.tj *.yandex.tm *.yandex.ua *.yandex.uz style-src 'self' 'unsafe-eval' 'unsafe-inline' blob: data: fonts.googleapis.com yandex.ru">
Следите за новостями в нашем блоге и вступайте в сообщества разработчиков:
Канал разработчиков Яндекс Игр в Дзене