Guide de la liste blanche

Domaine liste blanche est un modèle de sécurité qui contrôle l'accès à des domaines externes sur lesquels votre application n'a aucun contrôle. Stratégie de sécurité par défaut de Cordova permet d'accéder à n'importe quel site. Avant de déplacer votre application à la production, vous devez formuler une liste blanche et permettre l'accès au réseau des domaines et sous-domaines.

Cordova respecte la spécification W3C Widget accès , qui s'appuie sur le <access> élément au sein du PPA config.xml fichier pour activer l'accès réseau à des domaines spécifiques. Pour les projets qui s'appuient sur le workflow de CLI décrit dans l'Interface de ligne de commande, ce fichier se trouve dans le répertoire racine du projet. Autrement pour les chemins de développement spécifiques à la plateforme, les endroits sont énumérés dans les sections ci-dessous. (Voir les différents Guides de plate-forme pour plus d'informations sur chaque plate-forme).

Les exemples suivants illustrent la syntaxe de la liste blanche :

  • Accès à google.com:

    <access origin="http://google.com" />
    
  • Accès sécurisé google.com ( https:// ) :

    <access origin="https://google.com" />
    
  • Accès pour le sous-domaine maps.google.com:

    <access origin="http://maps.google.com" />
    
  • Accès à tous les sous-domaines sur google.com, par exemple mail.google.com et docs.google.com:

    <access origin="http://*.google.com" />
    
  • Accès à tous les domaines, par exemple, google.com et developer.mozilla.org:

    <access origin="*" />
    

    C'est la valeur par défaut pour les projets CLI nouvellement créés.

Amazon Fire OS liste blanche

Règles spécifiques à la plateforme whitelisting se trouvent dansres/xml/config.xml.

Android liste blanche

Règles spécifiques à la plateforme whitelisting se trouvent dansres/xml/config.xml.

NOTE: sous Android 2.3 et avant, domaine liste blanche ne fonctionne que pour href , les liens hypertexte non référencé ressources telles que les images et les scripts. Prendre des mesures pour éviter les scripts d'être injecté dans l'application.

Navigation vers les domaines non-liste blanche via href lien hypertexte, la page à ouvrir dans le navigateur par défaut plutôt qu'au sein de l'application. (Comparez ceci au comportement d'iOS noté ci-dessous).

iOS liste blanche

Règles de liste blanche de la plate-forme sont trouvent dans le répertoire application nommé config.xml fichier.

Origines spécifiés sans un protocole, tel que www.apache.org plutôt que http://www.apache.org , par défaut à tous les http , https , ftp , et ftps régimes.

Caractères génériques sur la plateforme iOS sont plus souples que dans la spécification W3C Widget accès . Par exemple, le texte suivant accède tous les sous-domaines et domaines de premier niveau tels que .com et .net :

    <access origin="*.google.*" />

Contrairement à la plateforme Android susmentionnée, en accédant à des domaines non-liste blanche via href lien hypertexte sur iOS empêche la page d'ouverture à tous.

BlackBerry 10 liste blanche

Les règles de liste blanche se trouvent danswww/config.xml.

Utilisation de quelques dizaines de blackBerry de caractères génériques se distingue des autres plates-formes de deux façons :

  • Tout contenu accédé par XMLHttpRequest doivent être déclarées explicitement. Mise en origin="*" ne fonctionne pas dans ce cas. Sinon, toutes les sécurités de web peuvent être désactivée à l'aide de la WebSecurity préférence décrite dans Configuration de BlackBerry :

    <preference name="websecurity" value="disable" />
    
  • Comme alternative au paramètre *.domain , définissez une nouvelle subdomains attribuent à true . Il doit avoir la valeur false par défaut. Par exemple, ce qui suit permet d'accéder à google.com , maps.google.com , et docs.google.com :

    <access origin="http://google.com" subdomains="true" />
    

    Le passage suivant l'accès à google.com :

    <access origin="http://google.com" subdomains="false" />
    

    L'accès à tous les domaines, y compris le local file:// protocole :

(Pour plus d'informations sur la prise en charge, consultez documentation de BlackBerry sur l' élément access.)

Changements d'iOS 3.1.0

Avant la version 3.1.0, Cordova-iOS inclus quelques extensions non standards pour le schéma de liste blanche 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édemment http , https , ftp , et ftps 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 prises en charge ; changement d'inclure une ligne pour chaque domaine et le protocole que vous devez réellement whitelist.

Windows Phone liste blanche

Les règles de liste blanche pour Windows Phone 7 et 8 se trouvent dans l'application config.xml fichier.

Liste blanche paciarelli

Règles de liste blanche se trouvent dans l'application de config.xml fichier. La plate-forme s'appuie sur les mêmes subdomains attribut comme la plateforme BlackBerry. (Pour plus d'informations sur la prise en charge, consultez documentation de paciarelli sur l' élément access.)