Whitelist Путеводитель
Обзор
Белый список ресурсов является модель безопасности, которая контролирует доступ к внешним сетевым ресурсам, таким как http://google.com
. Политика безопасности по умолчанию Apache Cordova позволяет получить доступ к любому ресурсу на любой сайт в Интернете. Прежде чем переносить приложение к производству, следует пересмотреть свою whitelist и объявить доступ к определенным сетевым домены и поддомены.
Спецификация
Домен whitelisting закладывает основу для спецификации W3C виджет доступа . В спецификации доступа виджет <access>
элемент используется для объявления доступа к определенным сетевым ресурсам. Apache Cordova расширяет это понятие, чтобы позволить whitelisting отдельных сетевых ресурсов (URL). В будущем Apache Cordova будет аннотация белый список реализаций платформы. Однако в настоящее время каждая платформа реализует свой ресурс или домена whitelisting. Далее в этом документе описаны различия между реализациями платформы.
Общий формат для записи whitelist соответствует спецификации «шаблону» для Google Chrome упакованных приложений. Ресурсы указываются в URL, но звездочка (*) персонаж может использоваться как «шаблон» в нескольких местах для обозначения «любое значение может пойти здесь». Ниже приводятся конкретные примеры.
Синтаксис
Доступ ко всем ресурсам на google.com:
http://google.com/*
Доступ ко всем ресурсам в безопасной google.com ( https://
):
HTTPS://Google.com/ *
Доступ к конкретным поддомен maps.google.com:
http://maps.google.com/*
Доступ ко всем дочерним доменам на google.com (например, mail.google.com и адресу docs.google.com):
http://*.google.com/*
Доступ ко всем ресурсам на www.google.com по пути «/ мобильный»:
http://www.google.com/mobile/*
Доступ к google.com на любой протокол (например, HTTP, HTTPS, FTP и т.д):
*://google.com/*
Доступ для всех ресурсов в Интернете (например, google.com и developer.mozilla.org):
*
Андроид
Подробная информация
Whitelisting правила находятся в res/xml/config.xml
и объявил с элементом<access origin="..." />
.
Android полностью поддерживает синтаксис "белый список".
Синтаксис
Доступ к google.com:
<access origin="http://google.com/*" />
Ежевика 10
Подробная информация
Whitelisting правила находятся в www/config.xml
и объявил с элементом<access origin="..." />
.
Ежевика 10 обрабатывает символы по-разному чем другие платформы двумя способами:
1) Доступ к XMLHttpRequest содержимому должны быть объявлены явным образом. происхождения = «*» не будут соблюдаться для этот случай использования. Кроме того все веб-безопасности может быть отключена с помощью предпочтение.
2) поддомены = "true" может быть использован вместо «* .domain»
Синтаксис
Доступ к google.com:
<access origin="http://google.com" subdomains="false" />
Доступ к maps.google.com:
<access origin="http://maps.google.com" subdomains="false" />
Доступ ко всем дочерним доменам на google.com:
<access origin="http://google.com" subdomains="true" />
Доступ ко всем доменам, в том числе file://
протокол:
<access origin="*" subdomains="true" />
Отключите все веб-безопасности:
<preference name="websecurity" value="disable" />
iOS
Подробная информация
Whitelisting правила находятся в AppName/config.xml
и объявил с элементом<access origin="..." />
.
iOS полностью поддерживает синтаксис "белый список".
Изменена 3.1.0:
До версии 3.1.0 Кордова iOS включены некоторые нестандартные расширения схемы whilelisting домена, поддерживаемой другими платформами Cordova. По состоянию на 3.1.0 белый iOS теперь соответствует ресурсов whitelist синтаксис, описанный в верхней части этого документа. Если вы модернизируете от pre-3.1.0, и вы использовали эти расширения, может потребоваться изменить ваш config.xml
файл для того чтобы продолжать whitelisting тот же набор ресурсов, как раньше.
В частности эти модели должны быть обновлены:
«
apache.org
» (не протокол): это будет соответствовать ранееhttp
,https
,ftp
, иftps
протоколы. Изменить на «*://apache.org/*
» включить все протоколы, или включать строку для каждого протокола, необходимо поддерживать.«
http://apache.*
» (подстановочный знак в конце домена): это будет соответствовать ранее все верхнего-уровня-домены, включая все возможные двухбуквенные ДВУ (но не полезно домены как. co.uk). Включить строку для каждого TLD, который вы фактически контролировать и нуждаются в белый список.«
h*t*://ap*he.o*g
» (подстановочные знаки для случайных недостающие буквы): они больше не поддерживаются; изменения будет включать строку для каждого домена и протоколу что вы на самом деле нужно whitelist.
Синтаксис
Доступ к google.com:
<access origin="http://google.com/*" />
Windows Phone (7 и 8)
Whitelisting правила находятся в config.xml
и объявил с элементом<access origin="..." />
.
Синтаксис
Доступ к google.com:
<access origin="http://google.com" />
Tizen
Подробная информация
Корневой каталог приложения config.xml
файл определяет правила белый список доменов, используя <access origin="..." />
элемент. Полный справочник смотрите в документации Tizen доступ к внешним сетевым ресурсам.
Синтаксис
Доступ к google.com:
<access origin="http://google.com" subdomains="false" />
Доступ к безопасной google.com ( https://
):
<access origin="https://google.com" subdomains="false" />
Доступ ко всем дочерним доменам на google.com:
<access origin="http://google.com" subdomains="true" />
Доступ ко всем доменам, в том числе file://
протокол:
<access origin="*" subdomains="true" />