2016-12-16 11 views
0

URLにアクセスしようとして、Cordovaアプリケーションでデータを取得しようとしましたが、404エラーが発生しました。ログには、ホワイトリストでブロックされたURL:http://urlhereが表示されます。Cordovaホワイトリスト - URL 404エラー

ホワイトリストプラグインをインストールしました。これは/platforms/android/config.xmlファイルとhttp:// urlhereに追加されています。スタイル - src 'self' 'unsafe-inline';スクリプト-srcの「自己」「安全ではない、インライン」「安全ではない-evalの」 "> htmlファイルインチのAndroid Studioの2.2.3で実行

答えて

0

このプラグインは、私たちは、アプリのナビゲーションのためのホワイトリストポリシーを実装することができます我々は新しいコルドバプロジェクトを作成.When、ホワイトリストプラグインがインストールされ、デフォルトで実装されています。あなたはコルドバで提供できるよう、意図デフォルト設定を参照してくださいのconfig.xmlファイルを開くことができます。

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

への移動:// URLはデフォルトで許可されています。

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

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

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

意図ホワイトリスト

システムを開くことが許可されているURLを指定するために使用され可能-意図要素もあります。 config.xmlでは、Cordovaがすでに必要なリンクのほとんどを許可していることがわかります。

ネットワーク要求のホワイトリスト

あなたはのconfig.xmlファイル内部を見るときは、<access origin="*" />要素があります。この要素は、Cordovaフック経由で私たちのアプリケーションへのすべてのネットワーク要求を許可します。特定のリクエストのみを許可したい場合は、config.xmlから削除して、自分で設定することができます。

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

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

これはhttp://example.comからのすべてのネットワーク要求を許可します。

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

あなたはこれがデフォルト設定です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'"> 
関連する問題