14

Mam aplikację Cordova i po aktualizacji (5.0.0) nie mogę w ogóle wywołać żadnego zasobu. Dodałem wtyczkę białej listy i dodawali następujący tag index.htmlPolityka bezpieczeństwa Cordova

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.azure-mobile.net localhost:1337 *.ajax.aspnetcdn.com"> 

mam następujące błędy:

Odmówił załadować skrypt „http://ajax.aspnetcdn.com/ajax/mobileservices/MobileServices.Web-1.2.5.min.js”, ponieważ narusza następujące Content Security Dyrektywa dotycząca zasad: "script-src" self "" unsafe-inline "" unsafe-eval "* .azure-mobile.net localhost: 1337 * .ajax.aspnetcdn.com".

Odmówił załadowania skryptu "http://localhost:1337/vorlon.js", ponieważ narusza następującą dyrektywę Content Security Policy: "script-src" self "" niebezpieczny-inline "" unsafe-eval "* .azure-mobile.net localhost: 1337 * .ajax.aspnetcdn.com ".

Próbowałem z domyślną polityką, która powinna pozwolić na wszystko, ale wciąż nie ma szczęścia.

Dodałem także następujące do mojego pliku config.xml

<access origin="*" /> 
<allow-navigation href="*" /> 

i stosując następujące wtyczki:

C:\Projects\TavlaApp>cordova plugin 
com.microsoft.azure-mobile-services 1.2.7 "Windows Azure Mobile Services" 
cordova-plugin-whitelist 1.0.1-dev "Whitelist" 
nl.x-services.plugins.calendar 4.3.4 "Calendar" 
nl.x-services.plugins.insomnia 4.0.1 "Insomnia (prevent screen sleep)" 
org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser" 

Każdy pomysł co próbować?

Odpowiedz

7

Wygląda na to, że coś jest nie tak z moją wtyczką/platformą.

zrobiłem usuń wszystkich wtyczek

cordova platform rm android 
    cordova platform add android 

Następnie ponownie dodane wtyczek i wszystko działa.

+0

Wydaje się, że Cordova 5.0 bardzo się zmieniła. Zwłaszcza dla systemu Android, w którym całkowicie przełączyli się na kompilacje oparte na gradowaniu, zamiast ANT. Napotkałem kilka wtyczek 3rd party, które już się nie kompilują, odwołując się do nieistniejących wywołań funkcji. – mix3d

+0

@ mix3d Cordova 5.0 mają wiele problemów. – rigobcastro

28

symbole wieloznaczne są akceptowane, ale tylko jako schemat, port, lub w skrajnym lewym położeniu hosta:

*://*.example.com:* 

... byłoby to dopasować wszystkie subdomeny example.com (ale nie np .com sam), za pomocą dowolnego schematu, na dowolnym porcie.

Kluczem dla ciebie może być część pogrubiona powyżej.

Ty określające:

localhost:1337 

*.ajax.aspnetcdn.com 

Ale jeszcze nazywając

http://ajax.aspnetcdn.com 

http://localhost:1337 

Może zmieni się

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.azure-mobile.net http://localhost:1337 http://ajax.aspnetcdn.com"> 

mam określającego portu, ale można zastąpić "http" z *

Hope w pełni to pomaga lub prowadzi we właściwym kierunku.

+0

Witam! Dziękuję za rozpatrzenie tego. Twoja odpowiedź nie rozwiązała problemu, ale udało mi się go usunąć i dodać wtyczki. – Larsi

+0

Spojrzałem na tak wiele przykładów, to jest jedyny, który działał .. na zdrowie! – sputn1k

+0

Dzięki, działa w moim projekcie cordova. Zastąpiłem meta w moim pliku html tym Emmy

-4

Mam ten problem podczas próby zainstalowania cordova-plugins-whitelist dla Cordova 5.Oto zainstalować log:

Instalowanie "Cordova-plugin-whitelist" android

This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in. 

Jak widzimy, ten plugin nie jest już konieczne w Cordova v5 !!

+10

Czy nie jest odwrotnie? Potrzebujesz go dla> = v4? –

Powiązane problemy