2016-06-21 7 views
9

コードプッシュドキュメントの後にアプリケーションをデプロイしようとしています。アプリに次のコンテンツセキュリティを追加しました。content-securtiy-policyに違反しているため、画像のロードが拒否されました - Cordova

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

すぐに私のアプリケーションは再び実行されません。私は私のコードブラウザを実行します。私はコンソールで多くのエラーを見た。それはgithubのから参照の私のスタイルファイルを判明、私のイメージはmysite.com/...と私の他の外部スクリプトから参照、goopleapisは、それは今も元気に動作

<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 *"> 

の下に私のセキュリティポリシーです。私の質問は、セキュリティの分散は何ですか?私はそれをそのままにしておくべきですか?どのように私はこれを行う必要がありますか?どんな助けや意見もありがとう。私は*を放置することを意図した攻撃を許可するかもしれないと心配しています。

答えて

5

あなたのCSPを残しておくと、これが攻撃者にとってより簡単になる可能性があります。 CSPを使用する主なアイデアは、hereと書かれているようなホワイトリストURLです。

ワイルドカード*ですべてをホワイトリストに入れることで、アプリケーションにコードを挿入することができれば、攻撃者はどこからでもコードをロード(実行)することができます。これについてリンクされた記事をチェックしてください、私がここに書いているものよりもはるかに優れています;)

これを行う正しい方法は何ですか?

  1. ホワイトリストに登録したいドメインとそのドメインの種類はどれですか?resourcesを入力してください。
  2. ワイルドカードを取り除き、正確にのホワイトリストを削除して、必要なリソースを正確に取得してください。たとえば、GitHubのスタイルシートを見てみましょう。あなたはややこのようなスタイルのための信頼できるドメインとしてのGitHubを追加する必要があります:style-src 'self' https://github.com 'unsafe-inline';

注:それは他のポリシーが上書きされますようdefault-srcポリシーに注意してください。それは、画像をホワイトリストに来るとき、あなたがそうのようなdata:キーワードを追加する必要があります:あなたはすべてのポリシーおよびキーワードの概要を探しているならimg-src 'self' http://somedomain.com data:;

Mozilla's documentationはかなり良いです...

+0

このドキュメントは本当に役に立ちます。この質問がすべてに答えることができない場合は、それらをチェックしてください。 –

3

が解決しますwith:

script-src 'self' http://xxxx 'unsafe-inline' 'unsafe-eval'; 
+0

これは私の問題をCordova + Phaser3で読み込んで解決しました '' – bFunc

関連する問題