Sie sind auf Seite 1von 3

<!

-# license: Licensed to the Apache Software Foundation (ASF) under one


#
or more contributor license agreements. See the NOTICE file
#
distributed with this work for additional information
#
regarding copyright ownership. The ASF licenses this file
#
to you under the Apache License, Version 2.0 (the
#
"License"); you may not use this file except in compliance
#
with the License. You may obtain a copy of the License at
#
#
http://www.apache.org/licenses/LICENSE-2.0
#
#
Unless required by applicable law or agreed to in writing,
#
software distributed under the License is distributed on an
#
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#
KIND, either express or implied. See the License for the
#
specific language governing permissions and limitations
#
under the License.
-->
# cordova-plugin-whitelist
Dieses Plugin implementiert eine Whitelist-Politik fr die Navigation in der Anwen
dung Webview Cordova 4.0
## Cordova untersttzte Plattformen
* Android 4.0.0 oder hher
* iOS 4.0.0 oder hher
## Navigation-Whitelist
Steuert, welche URLs die WebView selbst zu navigiert werden kann. Bezieht sich a
uf der obersten Ebene Navigationen nur.
Macken: auf Android es gilt auch fr Iframes fr nicht-http(s) Systeme.
In der Standardeinstellung Navigationen nur auf `file://` URLs, sind zulssig. Wen
n andere andere URLs zulassen mchten, mssen Sie Ihre `"config.xml"` `<allow-naviga
tion>` Markierungen hinzufgen:
<!-- Allow links to example.com -->
<allow-navigation href="http://example.com/*" />
<!-- Wildcards are allowed for the protocol, as a prefix
to the host, or as a suffix to the path -->
<allow-navigation href="*://*.example.com/*" />
<!-- A wildcard can be used to whitelist the entire network,
over HTTP and HTTPS.
*NOT RECOMMENDED* -->
<allow-navigation href="*" />
<!-- The above is
<allow-navigation
<allow-navigation
<allow-navigation
## Vorsatz-Whitelist

equivalent to these three declarations -->


href="http://*/*" />
href="https://*/*" />
href="data:*" />

Steuert, welche URLs die app zulssig ist, um das System zu ffnen Fragen. Standardmig
drfen keine externe URLs.
Das entspricht auf Android eine Absicht des Typs BROWSEABLE senden.
Diese Whitelist gilt nicht fr Plugins, nur Hyperlinks und Aufrufe von `window.ope
n()`.
Fgen Sie in `"config.xml"` `<allow-intent>` Tags hinzu, wie folgt:
<!-- Allow links to web pages to open in a browser -->
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<!-- Allow links to example.com to open in a browser -->
<allow-intent href="http://example.com/*" />
<!-- Wildcards are allowed for the protocol, as a prefix
to the host, or as a suffix to the path -->
<allow-intent href="*://*.example.com/*" />
<!-- Allow SMS links to open messaging app -->
<allow-intent href="sms:*" />
<!-- Allow tel: links to open the dialer -->
<allow-intent href="tel:*" />
<!-- Allow geo: links to open maps -->
<allow-intent href="geo:*" />
<!-- Allow all unrecognized URLs to open installed apps
*NOT RECOMMENDED* -->
<allow-intent href="*" />
## Netzwerk-Anforderung-Whitelist
Steuert, welche-Anforderungen Netzwerk (Bilder, XHRs, etc.) drfen (ber Cordova nat
ive Haken) erfolgen.
Hinweis: Wir empfehlen Ihnen eine Content Security Policy (siehe unten), das ist
sicherer. Diese Whitelist ist vor allem historisch fr Webansichten fr die CSP nic
ht untersttzen.
Fgen Sie in `"config.xml"` `<access>` Tags hinzu, wie folgt:
<!-- Allow images, xhrs, etc. to google.com -->
<access origin="http://google.com" />
<access origin="https://google.com" />
<!-- Access to the subdomain maps.google.com -->
<access origin="http://maps.google.com" />
<!-- Access to all the subdomains on google.com -->
<access origin="http://*.google.com" />
<!-- Enable requests to content: URLs -->
<access origin="content:///*" />
<!-- Don't block any requests -->

<access origin="*" />


Ohne `<access>` -Tags drfen nur Anforderungen an `file://` URLs. Enthlt jedoch die
Standardanwendung Cordova `<access origin="*">` standardmig.
Eigenart: Android kann auch Anforderungen an https://ssl.gstatic.com/accessibili
ty/javascript/android/ standardmig, da dies fr TalkBack ordnungsgem erforderlich ist.
### Content-Security-Policy
Steuert, welche-Anforderungen Netzwerk (Bilder, XHRs, etc.) drfen (ber Webview dir
ekt) erfolgen.
Auf Android und iOS ist die Netzwerk Anfrage Whitelist (s.o.) nicht in der Lage,
alle Arten von Anfragen (z.B. `< video >` & WebSockets nicht blockiert) filtern
. Also, sollten Sie neben der Whitelist, [Content Security Policy](http://conten
t-security-policy.com/) `< Meta >` -Tags auf allen Ihren Seiten verwenden.
Auf Android Untersttzung fr CSP innerhalb der System-Webview beginnt mit KitKat (a
ber ist in allen Versionen mit Crosswalk WebView verfgbar).
Hier sind einige Beispiel-CSP-Deklarationen fr Ihre `HTML` -Seiten:
<!-- Good default declaration:
* gap: is required only on iOS (when using UIWebView) and is needed for
JS->native communication
* https://ssl.gstatic.com is required only on Android and is needed for
TalkBack to function properly
* Disables use of eval() and inline scripts in order to mitigate risk of
XSS vulnerabilities. To change this:
* Enable inline JS: add 'unsafe-inline' to default-src
* Enable eval(): add 'unsafe-eval' to default-src
-->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data:
gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *">
<!-- Allow requests to foo.com -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' foo.c
om">
<!-- Enable all requests, inline styles, and eval() -->
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src
'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<!-- Allow XHRs via https only -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' https
:">
<!-- Allow iframe to https://cordova.apache.org/ -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; fram
e-src 'self' https://cordova.apache.org">