ドメインホワイトリストガイド

概要

Apache Cordova のドメインホワイトリストは、 http://google.com などの外部ドメインへのアクセスを制御するセキュリティモデルです。デフォルトのセキュリティポリシーは全てのネットワークアクセスをブロックします。アプリケーション開発者は、特定のネットワークのドメインやサブドメインへのアクセスを宣言して許可できます。

仕様

ドメインホワイトリストは W3C Widget Access の仕様に基づいています。 Widget Access 仕様の中で、 <access> 要素はネットワークドメインへのアクセス許可を指定するために使われています。将来、 Apache Cordova はホワイトリスト実装のプラットフォームの W3C Widget Access 仕様書。しかしながら、現在は各プラットフォームは各々のドメインホワイトリストを実装する必要があります。

シンタックス

google.com へのアクセス:

http://google.com

google.com へのセキュアアクセス (https://):

https://google.com

maps.google.com サブドメインへのアクセス:

http://maps.google.com

google.com のすべてのサブドメインへのアクセス (例: mail.google.com 及び docs.google.com):

http://*.google.com

すべてのドメインへのアクセス (例: google.com 及び developer.mozilla.org):

*

Android

詳細

ホワイトリストのルールは res/xml/config.xml で見つけることができ、 <access origin="..." /> 要素によって宣言できます。

Android はホワイトリストのシンタックスをフルサポートしています。

シンタックス

google.com へのアクセス:

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

Bada

ドメインホワイトリストは Bada ではサポートされていません。デフォルトとして、全てのドメインにアクセス可能です。

BlackBerry

詳細

ホワイトリストのルールは www/config.xml で見つけることができ、 <access uri="..." /> 要素によって宣言できます。

詳細については、 BlackBerry WebWorks Access Element documentation を参照してください。

シンタックス

google.com へのアクセス:

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

maps.google.com へのアクセス:

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

google.com のすべてのサブドメインへのアクセス:

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

file:// プロトコルを含むすべてのドメインへのアクセス:

<access uri="*" subdomains="true" />

iOS

詳細

  1. Cordova.plist を開きます
    • Xcode 内では AppName/Supporting Files/Cordova.plist で見つけられます
    • ディレクトリ内では AppName/Cordova.plist で見つけられます
  2. ExternalHosts キー配下に新しい文字列を追加します
    • XML の直接編集を避けるため、 Xcode を使用することを勧めます

シンタックス

google.com のアクセス及び google.com へのセキュアアクセス (https://):

google.com

maps.google.com サブドメインへのアクセス:

maps.google.com

google.com のすべてのサブドメインへのアクセス (例: mail.google.com 及び docs.google.com):

*.google.com

すべてのドメインへのアクセス (例: google.com 及び developer.mozilla.org):

*

iOS のワイルドカード (*) は W3C Widget Access の仕様より柔軟です。

すべてのサブドメインへ及び TLD (.com, .net など) へのアクセス:

*.google.*

Symbian

ドメインホワイトリストは Symbian ではサポートされていません。デフォルトとして、全てのドメインにアクセス可能です。

webOS

ドメインホワイトリストは webOS ではサポートされていません。デフォルトとして、全てのドメインにアクセス可能です。

Windows Phone

ドメインホワイトリストは Windows Phone ではサポートされていません。デフォルトとして、全てのドメインにアクセス可能です。

Tizen

詳細

ドメインホワイトリストのルールはアプリケーションのルートディレクトリにある config.xml で見つけることができます。 これらは、 <access origin="..." /> 要素によって宣言されています。 詳細については、 Tizen Accessing External Network Resources documentation を参照してください。

シンタックス

google.com のアクセス:

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

google.com へのセキュアアクセス (https://):

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

google.com のすべてのサブドメインへのアクセス:

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

file:// プロトコルを含むすべてのドメインへのアクセス:

<access origin="*" subdomains="true" />