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" />