コルドバ-ホワイトリスト

このプラグインを使用すると、アプリのナビゲーションにホワイトリストポリシーを実装できます。新しいCordovaプロジェクトを作成すると、whitelistプラグインはデフォルトでインストールおよび実装されます。あなたは開くことができますconfig.xml 見るファイル allow-intent コルドバが提供するデフォルト設定。

ナビゲーションホワイトリスト

以下の簡単な例では、外部URLへのリンクを許可しています。このコードはに配置されますconfig.xml。へのナビゲーションfile:// URLはデフォルトで許可されています。

<allow-navigation href = "http://example.com/*" />

アステリック記号*は、複数の値へのナビゲーションを可能にするために使用されます。上記の例では、のすべてのサブドメインへのナビゲーションを許可しています。example.com。同じことが、ホストのプロトコルまたはプレフィックスにも適用できます。

<allow-navigation href = "*://*.example.com/*" />

インテントホワイトリスト

もあります allow-intentシステムを開くことができるURLを指定するために使用される要素。あなたはで見ることができますconfig.xml コルドバはすでに私たちに必要なリンクのほとんどを許可していました。

ネットワークリクエストホワイトリスト

中を見ると config.xml ファイル、あります <access origin="*" />素子。この要素は、Cordovaフックを介したアプリへのすべてのネットワークリクエストを許可します。特定のリクエストのみを許可する場合は、config.xmlから削除して、自分で設定できます。

前の例と同じ原理が使用されます。

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

これにより、からのすべてのネットワークリクエストが許可されます http://example.com

コンテンツセキュリティポリシー

アプリの現在のセキュリティポリシーは、 head の要素 index.html

<meta http-equiv = "Content-Security-Policy" content = "default-src 
   'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 
   'self' 'unsafe-inline'; media-src *">

これはデフォルトの構成です。同じ起源からのすべてを許可したい場合example.com、次に使用できます-

<meta http-equiv = "Content-Security-Policy" content = "default-src 'self' foo.com">

すべてを許可することもできますが、CSSとJavaScriptを同じオリジンに制限します。

<meta http-equiv = "Content-Security-Policy" content = "default-src *; 
   style-src 'self' 'unsafe-inline'; script-src 'self' 
   'unsafe-inline' 'unsafe-eval'">

これは初心者向けのチュートリアルなので、デフォルトのCordovaオプションをお勧めします。コルドバに慣れたら、いくつかの異なる値を試すことができます。