Cordova - Liste blanche

Ce plugin nous permet de mettre en œuvre une politique de liste blanche pour la navigation de l'application. Lorsque nous créons un nouveau projet Cordova, lewhitelistLe plugin est installé et implémenté par défaut. Vous pouvez ouvrir leconfig.xml fichier à voir allow-intent paramètres par défaut fournis par Cordova.

Liste blanche de navigation

Dans l'exemple simple ci-dessous, nous autorisons les liens vers certaines URL externes. Ce code est placé dansconfig.xml. Navigation versfile:// Les URL sont autorisées par défaut.

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

Le signe astérisque, *, est utilisé pour permettre la navigation vers plusieurs valeurs. Dans l'exemple ci-dessus, nous autorisons la navigation vers tous les sous-domaines duexample.com. La même chose peut être appliquée au protocole ou au préfixe de l'hôte.

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

Liste blanche d'intention

Il y a aussi le allow-intentélément utilisé pour spécifier les URL autorisées à ouvrir le système. Vous pouvez voir dans leconfig.xml que Cordova nous a déjà permis la plupart des liens nécessaires.

Liste blanche des demandes de réseau

Quand tu regardes à l'intérieur config.xml fichier, il y a <access origin="*" />élément. Cet élément permet toutes les requêtes réseau à notre application via des crochets Cordova. Si vous souhaitez autoriser uniquement des requêtes spécifiques, vous pouvez le supprimer du fichier config.xml et le définir vous-même.

Le même principe est utilisé que dans les exemples précédents.

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

Cela permettra à toutes les demandes réseau de http://example.com.

Politique de sécurité du contenu

Vous pouvez voir la politique de sécurité actuelle de votre application dans le head élément dans 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 *">

Il s'agit de la configuration par défaut. Si vous souhaitez tout autoriser de la même origine etexample.com, alors vous pouvez utiliser -

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

Vous pouvez également tout autoriser, mais restreindre CSS et JavaScript à la même origine.

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

Comme il s'agit d'un tutoriel pour débutants, nous recommandons les options Cordova par défaut. Une fois que vous vous êtes familiarisé avec Cordova, vous pouvez essayer différentes valeurs.