Whitelist プラグイン ( Android 専用 )

テスト環境 ( バージョン番号 ) : 1.3.4

このプラグインを使用して、WebView ( Cordova 4.0 以降 ) 上のページ遷移に対して、ホワイトリスト ポリシー ( アクセスできる URL の指定など ) を適用します。

※ このプラグインの詳細は、 こちらの原文 ( GitHub ) をご確認ください。

プラグイン ID

cordova-plugin-whitelist

対象プラットフォーム

  • Android

プラグインの追加方法

Whitelist プラグインは、Monacaアプリに自動で組み込まれます。

ページ遷移への制限

WebView 上で使用できる URL を制御します。適用範囲は、最上位のページ遷移 ( top-level navigation ) のみです。

Android では、http(s) スキーマを使用していない iframe にも適用されます。

デフォルトでは、file:// 形式の URL のみ使用できます。

他のURLを使用する場合、たとえば、次のように <allow-navigation> を指定して、config.xml に追加します。

外部アプリの呼出しへの制限

アプリ側からシステム側に対して、外部への URL を開くようにリスクエストすることができます。

デフォルトでは、外部への URLは一切開くことができません。

Android における、「 BROWSABLE 」 設定に相当します。

この設定は、プラグインではなく、window.open() の呼出し時とハイパーリンクだけに適用されます。

次のように、 config.xml ファイルに <allow-intent> タグを追加します。

コンテンツのリクエストへの制限

ネットワーク リクエスト ( 画像、XHR など ) に関して、どのリクエストを許可するか制御できます。

セキュリティー強化の点から、 コンテンツ セキュリティー ポリシー も使用することを推奨しています。こちらのホワイトリスト設定は、CSP をサポートしていない WebView 向けです。

次のように、 config.xml ファイルに <access> タグを追加します。

<access> タグを設定しない場合、 file:// 形式のURLへのリクエストのみ許可されます。

デフォルトでは、<access origin="*"> と設定されています。

注: ホワイトリストは、ホワイトリストに登録されたリモートWebサイト (http または https) から、

ホワイトリストに登録されていないウェブサイトへのネットワークリダイレクトをブロックできません。

CSPルールを使用して、CSPをサポートするWebビューのホワイトリストに登録されていないWebサイトへのリダイレクトを緩和します。

Android では、TalkBackを正常に動作させるため、

https://ssl.gstatic.com/accessibility/javascript/android/

へのリクエストがデフォルトで有効になっています。

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

ネットワーク リクエスト ( 画像、XHR など ) に関して、どのリクエストを許可するか制御できます。

ネットワーク リクエスト用のホワイトリスト ( 上記を参照 ) では、リクエストの種類に応じたフィルターを行っていません ( たとえば、<video> と WebSocket はブロックされません ) 。

そのため、上記のホワイトリストに加えて、Content Security Policy<meta> タグを、すべてのページに設定することを推奨します。

なお、System WebView における CSP のサポートは、KitKat から始りました ( Crosswalk WebView では、すべてのバージョンで利用できます )。

CSP 宣言の例を、次に記します ( .html ページに記述 )。

関連項目:

最終更新

役に立ちましたか?