Cordova - Whitelist

Questo plug-in ci consente di implementare la politica della whitelist per la navigazione dell'app. Quando creiamo un nuovo progetto Cordova, ilwhitelistplugin è installato e implementato per impostazione predefinita. Puoi aprire il fileconfig.xml file da vedere allow-intent impostazioni predefinite fornite da Cordova.

Whitelist di navigazione

Nel semplice esempio riportato di seguito consentiamo i collegamenti ad alcuni URL esterni. Questo codice è inserito inconfig.xml. Navigazione versofile:// Gli URL sono consentiti per impostazione predefinita.

<allow-navigation href = "http://example.com/*" />

Il segno asterisco, *, viene utilizzato per consentire la navigazione a più valori. Nell'esempio sopra, stiamo consentendo la navigazione a tutti i sottodomini diexample.com. Lo stesso può essere applicato al protocollo o al prefisso dell'host.

<allow-navigation href = "*://*.example.com/*" />

Whitelist intenzione

C'è anche il file allow-intentelemento utilizzato per specificare quali URL sono autorizzati ad aprire il sistema. Puoi vedere inconfig.xml che Cordova ci consentiva già la maggior parte dei collegamenti necessari.

Whitelist richieste di rete

Quando guardi dentro config.xml file, c'è <access origin="*" />elemento. Questo elemento consente tutte le richieste di rete alla nostra app tramite gli hook Cordova. Se desideri consentire solo richieste specifiche, puoi eliminarlo da config.xml e impostarlo da solo.

Viene utilizzato lo stesso principio degli esempi precedenti.

<access origin = "http://example.com" />

Ciò consentirà tutte le richieste di rete da http://example.com.

Politica sulla sicurezza dei contenuti

Puoi vedere la politica di sicurezza corrente per la tua app all'interno del file head elemento in 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 *">

Questa è la configurazione predefinita. Se vuoi consentire tutto dalla stessa origine eexample.com, quindi puoi usare -

<meta http-equiv = "Content-Security-Policy" content = "default-src 'self' foo.com">

Puoi anche consentire tutto, ma limitare CSS e JavaScript alla stessa origine.

<meta http-equiv = "Content-Security-Policy" content = "default-src *; 
   style-src 'self' 'unsafe-inline'; script-src 'self' 
   'unsafe-inline' 'unsafe-eval'">

Poiché questo è un tutorial per principianti, consigliamo le opzioni di Cordova predefinite. Una volta acquisita familiarità con Cordova, puoi provare alcuni valori diversi.