Cordova-whitelist
Cordova-ホワイトリスト
このプラグインにより、アプリのナビゲーション用のホワイトリストポリシーを実装できます。 新しいCordovaプロジェクトを作成すると、デフォルトで whitelist プラグインがインストールおよび実装されます。 config.xml ファイルを開いて、Cordovaが提供する allow-intent のデフォルト設定を確認できます。
ナビゲーションホワイトリスト
以下の簡単な例では、外部URLへのリンクを許可しています。 このコードは config.xml に配置されます。 file:// URLへのナビゲーションはデフォルトで許可されています。
<allow-navigation href = "http://example.com/*"/>
アスタリスク記号*は、複数の値へのナビゲーションを許可するために使用されます。 上記の例では、 example.com のすべてのサブドメインへのナビゲーションを許可しています。 同じことがホストのプロトコルまたはプレフィックスに適用できます。
<allow-navigation href = "*://*.example.com/*"/>
意図のホワイトリスト
システムを開くことを許可するURLを指定するために使用される allow-intent 要素もあります。 config.xml で、Cordovaがすでに必要なリンクのほとんどを許可していることがわかります。
ネットワークリクエストホワイトリスト
*config.xml* ファイルの中を見ると、* <access origin = "*"/> *要素があります。 この要素により、Cordovaフックを介したアプリへのすべてのネットワークリクエストが許可されます。 特定の要求のみを許可する場合は、config.xmlから削除して自分で設定できます。
前の例と同じ原理が使用されます。
<access origin = "http://example.com"/>
これにより、* http://example.com*からのすべてのネットワーク要求が許可されます。
コンテンツセキュリティポリシー
アプリの現在のセキュリティポリシーは、 indexl の head 要素で確認できます。
<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オプションをお勧めします。 Cordovaに慣れたら、いくつかの異なる値を試すことができます。