arnaucube
arnaucube/commonroutesServerPublic Self-hosted repository
commonroutesServer/www/plugins/cordova-plugin-whitelist/doc/fr/README.md
www/plugins/cordova-plugin-whitelist/doc/fr/README.mdRaw
  1<!--
  2# license: Licensed to the Apache Software Foundation (ASF) under one
  3#         or more contributor license agreements.  See the NOTICE file
  4#         distributed with this work for additional information
  5#         regarding copyright ownership.  The ASF licenses this file
  6#         to you under the Apache License, Version 2.0 (the
  7#         "License"); you may not use this file except in compliance
  8#         with the License.  You may obtain a copy of the License at
  9#
 10#           http://www.apache.org/licenses/LICENSE-2.0
 11#
 12#         Unless required by applicable law or agreed to in writing,
 13#         software distributed under the License is distributed on an
 14#         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 15#         KIND, either express or implied.  See the License for the
 16#         specific language governing permissions and limitations
 17#         under the License.
 18-->
 19
 20# cordova-plugin-whitelist
 21
 22Ce plugin met en œuvre une politique de liste blanche pour naviguer le webview application sur Cordova 4.0
 23
 24## Plates-formes prises en charge Cordova
 25
 26  * 4.0.0 Android ou supérieur
 27  * iOS 4.0.0 ou supérieur
 28
 29## Navigation liste blanche
 30
 31Contrôle quels URL le WebView lui-même peut être parcourus à. S'applique à des navigations niveau supérieur seulement.
 32
 33Particularités : sur Android il s'applique également aux iframes pour non-schémas http (s).
 34
 35Par défaut, navigations qu'aux URL `file://` , sont autorisés. Pour permettre aux autres d'autres URL, vous devez ajouter des balises `<allow-navigation>` à votre `fichier config.xml`:
 36
 37    <!-- Allow links to example.com -->
 38    <allow-navigation href="http://example.com/*" />
 39    
 40    <!-- Wildcards are allowed for the protocol, as a prefix
 41         to the host, or as a suffix to the path -->
 42    <allow-navigation href="*://*.example.com/*" />
 43    
 44    <!-- A wildcard can be used to whitelist the entire network,
 45         over HTTP and HTTPS.
 46         *NOT RECOMMENDED* -->
 47    <allow-navigation href="*" />
 48    
 49    <!-- The above is equivalent to these three declarations -->
 50    <allow-navigation href="http://*/*" />
 51    <allow-navigation href="https://*/*" />
 52    <allow-navigation href="data:*" />
 53    
 54
 55## Intent Whitelist
 56
 57Contrôle quels URL l'app n'est autorisé à poser le système d'ouverture. Par défaut, aucun external URL est autorisés.
 58
 59Sur Android, cela équivaut à envoyer une intention de type BROWSEABLE.
 60
 61Cette autorisation ne s'applique pas aux plugins, uniquement les liens hypertexte et les appels à `window.open()`.
 62
 63Dans le `fichier config.xml`, ajouter des balises `<allow-intent>` , comme ceci :
 64
 65    <!-- Allow links to web pages to open in a browser -->
 66    <allow-intent href="http://*/*" />
 67    <allow-intent href="https://*/*" />
 68    
 69    <!-- Allow links to example.com to open in a browser -->
 70    <allow-intent href="http://example.com/*" />
 71    
 72    <!-- Wildcards are allowed for the protocol, as a prefix
 73         to the host, or as a suffix to the path -->
 74    <allow-intent href="*://*.example.com/*" />
 75    
 76    <!-- Allow SMS links to open messaging app -->
 77    <allow-intent href="sms:*" />
 78    
 79    <!-- Allow tel: links to open the dialer -->
 80    <allow-intent href="tel:*" />
 81    
 82    <!-- Allow geo: links to open maps -->
 83    <allow-intent href="geo:*" />
 84    
 85    <!-- Allow all unrecognized URLs to open installed apps
 86         *NOT RECOMMENDED* -->
 87    <allow-intent href="*" />
 88    
 89
 90## Réseau demande liste blanche
 91
 92Les contrôles dont les demandes de réseau (images, XHRs, etc.) sont autorisés à effectuer (via cordova natif crochets).
 93
 94Remarque : Nous vous suggérons de qu'utiliser un contenu politique de sécurité (voir ci-dessous), qui est plus sûr. Cette liste blanche est surtout historique pour webviews qui ne prennent pas en charge les CSP.
 95
 96Dans le `fichier config.xml`, ajouter des balises `<access>` , comme ceci :
 97
 98    <!-- Allow images, xhrs, etc. to google.com -->
 99    <access origin="http://google.com" />
100    <access origin="https://google.com" />
101    
102    <!-- Access to the subdomain maps.google.com -->
103    <access origin="http://maps.google.com" />
104    
105    <!-- Access to all the subdomains on google.com -->
106    <access origin="http://*.google.com" />
107    
108    <!-- Enable requests to content: URLs -->
109    <access origin="content:///*" />
110    
111    <!-- Don't block any requests -->
112    <access origin="*" />
113    
114
115Sans les balises `<access>` , seules les demandes d'URL `file://` sont autorisés. Toutefois, l'application de Cordoue par défaut inclut `<access origin="*" >` par défaut.
116
117Bizarrerie : Android permet également aux requêtes à https://ssl.gstatic.com/accessibility/javascript/android/ par défaut, puisque c'est nécessaire pour TalkBack fonctionner correctement.
118
119### Politique de sécurité du contenu
120
121Les contrôles dont les demandes de réseau (images, XHRs, etc.) sont autorisés à effectuer (via webview directement).
122
123Sur Android et iOS, la réseau demande liste blanche (voir ci-dessus) n'est pas en mesure de filtrer tous les types de demandes (p. ex. `< video >` & WebSockets ne sont pas bloquées). Ainsi, en plus de la liste blanche, vous devez utiliser une balise `< meta >` de [Contenu politique de sécurité](http://content-security-policy.com/) sur toutes vos pages.
124
125Sur Android, support pour le CSP dans le système webview commence par KitKat (mais n'est disponible sur toutes les versions à l'aide du tableau de concordance WebView).
126
127Voici quelques exemples de déclarations de CSP pour vos pages `.html` :
128
129    <!-- Good default declaration:
130        * gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
131        * https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
132        * Disables use of eval() and inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
133            * Enable inline JS: add 'unsafe-inline' to default-src
134            * Enable eval(): add 'unsafe-eval' to default-src
135    -->
136    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *">
137    
138    <!-- Allow requests to foo.com -->
139    <meta http-equiv="Content-Security-Policy" content="default-src 'self' foo.com">
140    
141    <!-- Enable all requests, inline styles, and eval() -->
142    <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
143    
144    <!-- Allow XHRs via https only -->
145    <meta http-equiv="Content-Security-Policy" content="default-src 'self' https:">
146    
147    <!-- Allow iframe to https://cordova.apache.org/ -->
148    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; frame-src 'self' https://cordova.apache.org">