ホームページ  >  記事  >  ウェブフロントエンド  >  Lollipop 上の Android で Cordova アプリでコンテンツ セキュリティ ポリシー (CSP) エラーが発生するのはなぜですか?

Lollipop 上の Android で Cordova アプリでコンテンツ セキュリティ ポリシー (CSP) エラーが発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-19 13:10:29847ブラウズ

Why is my Cordova App Encountering a Content Security Policy (CSP) Error on Android Above Lollipop?

コンテンツ セキュリティ ポリシー エラー: Lollipop 上の Android でのスクリプトのブロック

Lollipop (Android 5.0.0) を実行している Android デバイスに Cordova アプリをデプロイするとき) 以上の場合、「次のコンテンツ セキュリティ ポリシー ディレクティブに違反しているため、スクリプトのロードが拒否されました: 'script-src 'self' 'unsafe-eval' 'unsafe-inline'」というエラー メッセージが表示される場合があります。これは、アプリのデフォルトのコンテンツ セキュリティ ポリシー (CSP) が外部ドメインからのスクリプトの読み込みをブロックしていることを示します。

Android KitKat 以下のデフォルト CSP

Android KitKat (4.4.x) 以前のデフォルトの CSP では、HTML ドキュメントと同じドメイン (「self」)、CDN (例: 「gstatic.com」)、ローカル ストレージ (「data」など) を含む、信頼できるソースからスクリプトを読み込むことができます。 ').

Android Lollipop 以降に必要な変更

Lollipop 以降を実行しているデバイスの場合、外部ドメインからのスクリプトの読み込みを明示的に許可するようにデフォルトの CSP を変更する必要があります。これは、 を更新することで実現できます。 CSP を定義するタグ。

解決策: コンテンツ セキュリティ ポリシーの変更

エラーを修正するには、 タグを更新してみてください。プロジェクトのindex.html ファイル内のタグに、次の内容を含めます:

<code class="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 *;**script-src 'self' http://Guess.What.com 'unsafe-inline' 'unsafe-eval';**" /></code>

「http://Guess.What.com/MyScript.js」を、インポートするスクリプトの実際の URL に置き換えます。この変更により、指定されたドメインからスクリプトをロードできるようになり、CSP 違反エラーが解決されます。

以上がLollipop 上の Android で Cordova アプリでコンテンツ セキュリティ ポリシー (CSP) エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。