Whitelist-Guide
Übersicht
Ressource Whitelisting ist ein Sicherheitsmodell, das steuert Zugang zu externen Netzwerk-Ressourcen, wie z. B. http://google.com
. Apache Cordova Standardsicherheitsrichtlinien ermöglicht den Zugriff auf eine Ressource auf einer beliebigen Website im Internet. Bevor Sie Ihre Anwendung auf die Produktion verschieben, sollten Sie überprüfen ihrer Whitelist und deklarieren Zugang zu bestimmten Netzwerk-Domains und Sub-Domains.
Spezifikation
Domäne Whitelisting legt den Grundstein für die Spezifikation des W3C Widget Zugang . In der Widget-Zugang-Spezifikation die <access>
Element wird verwendet, um Zugriff auf bestimmte Netzwerkressourcen zu deklarieren. Apache Cordova erweitert dieses Konzept um Whitelisting der einzelnen Netzwerk-Ressourcen (URLs) zu ermöglichen. Apache Cordova wird in Zukunft die Plattform-Whitelisting-Implementierungen abstrahieren. Jedoch vorerst implementiert jede Plattform eine eigene Ressource oder Domäne Whitelisting. Die Unterschiede zwischen Plattform-Implementierungen werden später in diesem Dokument beschrieben.
Das allgemeine Format für Whitelist-Einträge folgt der "Mustervergleich" Spezifikation für Google Chrome verpackt Apps. Ressourcen werden durch die URL, aber Sternchen angegeben (*) Zeichen kann als "Platzhalter" an mehreren Stellen verwendet werden, um anzuzeigen, "hier kann jeder beliebige Wert gehen". Konkrete Beispiele sind unten aufgeführt.
Syntax
Zugriff auf alle Ressourcen unter google.com:
http://google.com/*
Zugriff auf alle Ressourcen auf die sichere google.com ( https://
):
https://Google.com/ *
Zugriff auf die bestimmte Subdomäne maps.google.com:
http://maps.google.com/*
Zugriff auf alle Sub-Domains auf google.com (z.B. mail.google.com und docs.google.com):
http://*.google.com/*
Zugriff auf alle Ressourcen auf www.google.com unter dem Pfad "/ mobile":
http://www.google.com/mobile/*
Zugang zu google.com auf beliebige Protokolle (z. B. HTTP, HTTPS, FTP, etc.):
*://google.com/*
Zugriff auf alle Ressourcen im Internet (z.B. google.com und developer.mozilla.org):
*
Android
Informationen
Die Whitelist-Regeln finden sich in res/xml/config.xml
und mit dem Element deklariert<access origin="..." />
.
Android unterstützt Whitelisting-Syntax.
Syntax
Zugang zu google.com:
<access origin="http://google.com/*" />
BlackBerry 10
Informationen
Die Whitelist-Regeln finden sich in www/config.xml
und mit dem Element deklariert<access origin="..." />
.
BlackBerry 10 behandelt Platzhalter anders als andere Plattformen auf zwei Arten:
1) Von XMLHttpRequest abgerufene Inhalte muss ausdrücklich deklariert werden. Herkunft = "*" wird nicht für diesen Anwendungsfall respektiert werden. Alternativ kann alle Web-Sicherheit mit einer Vorliebe deaktiviert werden.
2) Subdomains = "true" kann anstelle von verwendet werden "* .domain"
Syntax
Zugang zu google.com:
<access origin="http://google.com" subdomains="false" />
Zugriff auf maps.google.com:
<access origin="http://maps.google.com" subdomains="false" />
Zugriff auf alle Sub-Domains auf google.com:
<access origin="http://google.com" subdomains="true" />
Zugriff auf alle Domänen, einschließlich file://
Protokoll:
<access origin="*" subdomains="true" />
Deaktivieren Sie alle Web-Sicherheit:
<preference name="websecurity" value="disable" />
iOS
Informationen
Die Whitelist-Regeln finden sich in AppName/config.xml
und mit dem Element deklariert<access origin="..." />
.
iOS unterstützt Whitelisting-Syntax.
In 3.1.0 geändert:
Vor Version 3.1.0 enthalten Cordova-iOS einige nicht-standard-Erweiterungen für die Domäne Whilelisting Regelung von anderen Cordova-Plattformen unterstützt. Ab 3.1.0 entspricht die iOS-Whitelist jetzt die Ressource-Whitelist-Syntax an der Spitze dieses Dokuments beschrieben. Wenn Sie ein von Pre-3.1.0 Upgrade und Sie wurden diese Erweiterungen verwenden, müssen Sie möglicherweise ändern Ihre config.xml
Datei um Whitelisting dieselben Ressourcen wie bisher weiter.
Insbesondere diese Muster müssen aktualisiert werden:
"
apache.org
" (kein Protokoll): dieser zuvor übereinstimmen würde,http
,https
,ftp
, undftps
Protokolle. Ändern Sie in "*://apache.org/*
" gehören alle Protokolle oder eine Zeile für jedes Protokoll unterstützt werden müssen."
http://apache.*
" (Wildcard am Ende der Domäne): Dies würde zuvor übereinstimmen, alle top-level-Domains, einschließlich alle mögliche zwei-Buchstaben-TLDs (aber nicht nützliche Domänen mag. co.uk). Zusätzlich eine Zeile für jede TLD, die Sie eigentlich kontrollieren und müssen auf die Whitelist."
h*t*://ap*he.o*g
" (Platzhalter für zufällige Buchstaben fehlen): Diese werden nicht mehr unterstützt; Änderung eine Zeile für jede Domäne zu Protokoll, dass Sie tatsächlich auf die Whitelist benötigen.
Syntax
Zugang zu google.com:
<access origin="http://google.com/*" />
Windows Phone (7 & 8)
Die Whitelist-Regeln finden sich in config.xml
und mit dem Element deklariert<access origin="..." />
.
Syntax
Zugang zu google.com:
<access origin="http://google.com" />
Tizen
Informationen
Stammverzeichnis der Anwendung config.xml
Datei gibt Whitelisting Domänenregeln, mit dem <access origin="..." />
Element. Eine vollständige Referenz finden Sie in der Dokumentation Tizen zugreifen auf externe Netzwerkressourcen.
Syntax
Zugang zu google.com:
<access origin="http://google.com" subdomains="false" />
Zugriff auf die sicheren google.com ( https://
):
<access origin="https://google.com" subdomains="false" />
Zugriff auf alle Sub-Domains auf google.com:
<access origin="http://google.com" subdomains="true" />
Zugriff auf alle Domänen, einschließlich file://
Protokoll:
<access origin="*" subdomains="true" />