Как правильно установить "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.