Этот плагин позволяет нам реализовать политику белого списка для навигации по приложению. Когда мы создаем новый проект Cordova, плагин белого списка устанавливается и реализуется по умолчанию. Вы можете открыть файл config.xml, чтобы увидеть настройки по умолчанию, разрешенные Cordova.
Белый список навигации
В приведенном ниже простом примере мы разрешаем ссылки на некоторые внешние URL-адреса. Этот код находится в config.xml . Переход к файлу: // URL разрешены по умолчанию.
<allow-navigation href = "http://example.com/*" />
Знак звездочки * используется для перехода к нескольким значениям. В приведенном выше примере мы разрешаем навигацию по всем поддоменам сайта example.com . То же самое можно применить к протоколу или префиксу к хосту.
<allow-navigation href = "*://*.example.com/*" />
Белый список намерений
Существует также элемент allow-intent, который используется для указания того, каким URL разрешено открывать систему. В config.xml вы можете видеть, что Cordova уже разрешила большинство необходимых нам ссылок.
Белый список сетевых запросов
Когда вы смотрите внутри файла config.xml , есть элемент <access origin = «*» /> . Этот элемент разрешает все сетевые запросы к нашему приложению через Cordova hooks. Если вы хотите разрешить только определенные запросы, вы можете удалить его из config.xml и установить его самостоятельно.
Используется тот же принцип, что и в предыдущих примерах.
<access origin = "http://example.com" />
Это позволит все сетевые запросы от http://example.com .
Политика безопасности контента
Вы можете увидеть текущую политику безопасности для вашего приложения в элементе head в index.html .
<meta http-equiv = "Content-Security-Policy" content = "default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
Это конфигурация по умолчанию. Если вы хотите разрешить все из того же источника и example.com , то вы можете использовать —
<meta http-equiv = "Content-Security-Policy" content = "default-src 'self' foo.com">
Вы также можете разрешить все, но ограничить CSS и JavaScript одним и тем же источником.
<meta http-equiv = "Content-Security-Policy" content = "default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
Поскольку это учебник для начинающих, мы рекомендуем использовать стандартные настройки Cordova. Когда вы познакомитесь с Cordova, вы можете попробовать разные значения.