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.

Whitelist-Guide

Domain-Whitelist ist ein Sicherheitsmodell, das den Zugriff steuert an externe Domänen, die auf die Anwendung keine Kontrolle hat. Cordova bietet eine konfigurierbare Sicherheitspolitik definieren, welche externen Websites zugegriffen werden können. Standardmäßig werden neue apps so konfiguriert, dass Zugriff auf jeder Website. Sie sollten vor dem Umzug Ihre Anwendung auf die Produktion, eine Whitelist zu formulieren und ermöglichen den Zugriff auf bestimmte Netzwerk-Domains und Sub-Domains.

Für Android und iOS (Stand ihren 4,0 Releases) ist Cordovas Sicherheitspolitik erweiterbar über eine Plugin-Schnittstelle. Ihre Anwendung sollte Cordova-Plugin-Whitelist, verwenden, wie es höhere Sicherheit und Konfigurierbarkeit als frühere Versionen von Cordova bietet. Es ist, zwar möglich, eigene Whitelist-Plugin implementieren empfiehlt es sich nicht, wenn Ihre app sehr spezifischen Sicherheitsanforderungen Politik hat. Finden Sie die Cordova-Plugin-Whitelist für Informationen zur Verwendung und Konfiguration.

Für andere Plattformen entspricht Cordova der W3C Widget Zugang-Spezifikation, die auf die < access >-Element innerhalb der app Datei config.XML aktivieren Netzwerkzugriff auf bestimmte Domänen angewiesen ist. Für Projekte, die auf der CLI-Workflow in der Command-Line Interface beschrieben, befindet sich diese Datei im Wurzelverzeichnis des Projekts. Sonst sind die Standorte für plattformspezifische Entwicklungswege, in den folgenden Abschnitten aufgeführt. (Siehe die verschiedenen Plattform-Leitfäden für weitere Informationen auf jeder Plattform.)

Die folgenden Beispiele veranschaulichen < access > Whitelist-Syntax:

Beachten Sie, dass einige Webseiten automatisch auf deren Homepage zu einer anderen Url, z. B. mit Https-Protokoll oder eine landesspezifische Domain umleiten können. Zum Beispiel http://www.google.com leitet sich für die Nutzung von SSL/TLS bei https://www.google.com, und dann kann weiter leiten in eine geography-Instanz wie https://www.google.co.uk. Solche Szenarien erfordern veränderte oder zusätzliche Whitelist-Einträge über Ihre ersten Bedarfs. Bitte berücksichtigen Sie dies, wie Sie Ihre Whitelist erstellen.

Beachten Sie, dass die weiße Liste nur für die wichtigsten Cordova Webview gilt und nicht für eine InAppBrowser Webview oder Öffnung Links in der System-Web-Browser gilt.

Amazon Fire OS Whitelisting

Plattformspezifische Whitelisting-Regeln werden in res/xml/config.xml gefunden.

Android Whitelisting

Wie oben, siehe Cordova-Plugin-Whitelist für Details. Cordova-Android vor 4.0.0 finden Sie unter älteren Versionen dieser Dokumentation.

iOS Whitelisting

Wie oben, siehe Cordova-Plugin-Whitelist für Details. Cordova-Ios vor 4.0.0 finden Sie unter älteren Versionen dieser Dokumentation.

BlackBerry 10 Whitelisting

Die Whitelist-Regeln werden in www/config.xml gefunden..

BlackBerry 10 Verwendung von Platzhaltern unterscheidet sich von anderen Plattformen auf zwei Arten:

  • Alle Inhalte erreichbar XMLHttpRequest muss explizit deklariert werden. Festlegen von origin="*" funktioniert nicht in diesem Fall. Alternativ kann die gesamte Websicherheit verwenden die WebSecurity-Präferenz beschrieben in BlackBerry-Konfiguration deaktiviert werden:

    <preference name="websecurity" value="disable" />
    
  • Als Alternative zur Einstellung *.domain ein zusätzliche Subdomains-Attribut auf true festgelegt. Es sollte standardmäßig auf false festgelegt werden. Beispielsweise ermöglicht Folgendes den Zugriff auf google.com und maps.google.com docs.google.com:

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

    Die folgenden Narrows-Zugang zu google.com:

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

    Geben Sie Zugriff auf alle Domänen, einschließlich lokalen file:// Protokoll an:

(Weitere Informationen zum Support finden Sie BlackBerry Dokumentation auf dem Access-element.)

Firefox OS

In Firefox-OS gibt es kein Konzept für Whitelisting eine bestimmte Domäne. Stattdessen gibt es eine Ausnahmegenehmigung, genannt SystemXHR. Besteht die Notwendigkeit dieser Berechtigung "config.xml" hinzu:

<platform name="firefoxos">
    <permission name="systemXHR" privileged="true" description="load data from server" />
</platform>

Das XMLHttpRequest-Objekt muss mit zwei Parametern MozAnon und MozSystem instanziiert werden:

var request = new XMLHttpRequest({
    mozAnon: true,
    mozSystem: true});

Diese Lösung ist transparent, so gibt es keinen Unterschied für andere Plattformen.

Windows Phone Whitelisting

Die Whitelist-Regeln für Windows Phone 8 befinden sich in der app Datei config.xml.

Tizen Whitelisting

Whitelisting-Regeln werden in der app-config.xml-Datei gefunden. Die Plattform basiert auf dem gleichen subdomains-Attribut als die BlackBerry-Plattform. (Weitere Informationen zur Unterstützung finden Sie Tizens Dokumentation für das Access-element.)