Как правильно установить "content-security-policy" для Cordova Ios/Windows Phone/Android?

Я создаю приложение для нашей компании. У нас есть iframe (не спрашиваю почему...), загружающий адаптивный сайт. Это (должно) быть прозрачным для пользователя.

Я добавил несколько строк js для управления автономными страницами.

Он хорошо работает на симуляторе Android (Cordova с Visual Studio) и Android-устройства. Однако я сталкиваюсь с content-security-policy я подозреваю, что источником этой ошибки является:

устройство не сработало через 5 секунд

Из того, что я прочитал, может исходить из политики безопасности контента.

Я получил эту ошибку при запуске:

Отказался загружать фрейм "gap://ready", поскольку он нарушает следующую директиву "Политика безопасности контента": "default-src 'self' https://www.mywebsite.fr/ http://www.mywebsite.fr/". Обратите внимание, что frame-src не был задан явно, поэтому default-src используется как запасной вариант.

Что вы думаете об этой мета:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://www.mywebsite.fr http:///www.mywebsite.fr; child-src 'self' https:///www.mywebsite.fr http:///www.mywebsite.fr; script-src 'self' https:///www.mywebsite.fr http:///www.mywebsite.fr; 
         gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

И мой config.xml:

  <access origin="https:///www.mywebsite.fr" />
<access origin="http:///www.mywebsite.fr" />

Спасибо за ваше время,

Стеф.

1 ответ

Ошибка CSP дает вам все детали. У вас не указана директива frame-src, поэтому она возвращается к default-src, который не вносит белый список в пробел: protocol.

У вас есть два варианта:

1) Добавить gap: на ваш 'default-src'.

2) Добавьте директиву frame-src и добавьте gap: к этому.

Если вы выберете 2, вы также можете добавить директиву child-src для будущей совместимости с тем же значением, что и frame-src.

Другие вопросы по тегам