Guide de la liste blanche
Vue d'ensemble
Ressources liste blanche est un modèle de sécurité qui contrôle l'accès aux ressources réseau externe, tel que http://google.com
. Stratégie de sécurité par défaut de Apache Cordova permet d'accéder à toute ressource sur n'importe quel site sur Internet. Avant de déplacer votre application à la production, vous devriez revoir la liste blanche et déclarer l'accès au réseau des domaines et sous-domaines.
Spécification
Domaine whitelisting jette les bases pour la spécification W3C Widget accès . Dans la spécification de l'accès de Widget, le <access>
élément est utilisé pour déclarer l'accès aux ressources de réseau spécifiques. Apache Cordova s'étend ce concept afin de permettre la liste blanche des ressources réseau individuel (URLs). À l'avenir, Apache Cordova va résumer les implémentations de liste blanche de plate-forme. Toutefois, pour l'instant chaque plate-forme implémente sa propre liste blanche de ressource ou de domaine. Les différences entre les implémentations de plate-forme sont décrites plus loin dans ce document.
Le modèle général pour les entrées de la liste blanche conforme à la spécification "correspondre modèle" pour Google Chrome emballés Apps. Les ressources sont spécifiées par l'URL, mais un astérisque (*) caractère peut être utilisé comme « Joker » dans plusieurs endroits pour indiquer « n'importe quelle valeur peut aller ici ». Des exemples précis sont indiqués ci-dessous.
Syntaxe
Accès à toutes les ressources à google.com:
http://google.com/*
Accès à toutes les ressources à sûr google.com ( https://
) :
https://Google.com/ *
Accès pour le sous-domaine spécifique maps.google.com:
http://maps.google.com/*
Accès à tous les sous-domaines sur google.com (p. ex., mail.google.com et docs.google.com) :
http://*.google.com/*
Accès à toutes les ressources sur www.google.com sous le chemin d'accès "/ mobile" :
http://www.google.com/mobile/*
Accès à google.com sur n'importe quel protocole (HTTP, HTTPS, FTP, etc.) :
*://google.com/*
Accès à toutes les ressources sur Internet (par exemple, google.com et developer.mozilla.org) :
*
Android
Détails
Les règles de liste blanche se trouvent dans res/xml/config.xml
et déclarée avec l'élément<access origin="..." />
.
Android soutient pleinement la syntaxe de la liste blanche.
Syntaxe
Accès à google.com:
<access origin="http://google.com/*" />
BlackBerry 10
Détails
Les règles de liste blanche se trouvent dans www/config.xml
et déclarée avec l'élément<access origin="..." />
.
BlackBerry 10 gère les caractères génériques différemment des autres plates-formes de deux façons :
1) Contenu accédé par XMLHttpRequest doit être déclarée explicitement. origine = "*" on respectera pas pour ce cas d'utilisation. Sinon, toute sécurité web peut être désactivée à l'aide d'une préférence.
2) sous-domaines = "true" peut être utilisé à la place de "* *.domain"
Syntaxe
Accès à google.com:
<access origin="http://google.com" subdomains="false" />
Accès à maps.google.com:
<access origin="http://maps.google.com" subdomains="false" />
Accès à tous les sous-domaines sur Google.fr:
<access origin="http://google.com" subdomains="true" />
Accès à tous les domaines, y compris file://
protocole :
<access origin="*" subdomains="true" />
Désactiver toute sécurité web :
<preference name="websecurity" value="disable" />
iOS
Détails
Les règles de liste blanche se trouvent dans AppName/config.xml
et déclarée avec l'élément<access origin="..." />
.
iOS soutient pleinement la syntaxe de la liste blanche.
Changé en 3.1.0 :
Avant la version 3.1.0, Cordova-iOS inclus quelques extensions non standards pour le régime de whilelisting de domaine pris en charge par les autres plateformes de Cordova. En 3.1.0, le whitelist iOS est maintenant conforme à la syntaxe de liste blanche de ressource décrite en haut de ce document. Si vous mettez à niveau pre-3.1.0, et que vous utilisiez ces extensions, vous devrez peut-être modifier votre config.xml
fichier afin de continuer la liste blanche du même ensemble de ressources comme avant.
Plus précisément, ces motifs doivent être actualisés :
"
apache.org
" (pas de protocole): cela correspondrait précédemmenthttp
,https
,ftp
, etftps
des protocoles. Remplacez "*://apache.org/*
" d'inclure tous les protocoles, ou inclure une ligne pour chaque protocole, vous devez appuyer."
http://apache.*
" (caractère générique à la fin du domaine): cela correspondrait auparavant tous les top domaines niveau, y compris tous les TLDs possibles de deux lettres (mais pas utiles domaines aiment. co.uk). Inclure une ligne pour chaque TLD qui vous en fait Contrôlez et devez whitelist."
h*t*://ap*he.o*g
" (caractères génériques pour les lettres manquantes au hasard): ceux-ci ne sont plus supportés ; changement à inclure une ligne pour chaque domaine et protocole que vous avez réellement besoin de liste blanche.
Syntaxe
Accès à google.com:
<access origin="http://google.com/*" />
Windows Phone (7 & 8)
Les règles de liste blanche se trouvent dans config.xml
et déclarée avec l'élément<access origin="..." />
.
Syntaxe
Accès à google.com:
<access origin="http://google.com" />
Paciarelli
Détails
Du répertoire racine l'application config.xml
fichier spécifie les règles de liste blanche de domaine, en utilisant le <access origin="..." />
élément. Pour une référence complète, consultez la documentation de paciarelli accès à des ressources du réseau externe.
Syntaxe
Accès à google.com:
<access origin="http://google.com" subdomains="false" />
Accès sécurisé google.com ( https://
) :
<access origin="https://google.com" subdomains="false" />
Accès à tous les sous-domaines sur Google.fr:
<access origin="http://google.com" subdomains="true" />
Accès à tous les domaines, y compris file://
protocole :
<access origin="*" subdomains="true" />