web-dev-qa-db-ja.com

コンテンツセキュリティポリシー:ページの設定がリソースの読み込みをブロックしました

ページの読み込み時にキャプチャを使用していますが、何らかのセキュリティ上の理由でブロックされています

私は問題に直面しています:

コンテンツセキュリティポリシー:ページの設定により、
 http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicitでのリソースの読み込み
がブロックされました
( "script-src http://test.com:8080 'unsafe-inline' 'unsafe-eval'")。

次のjsとメタタグを使用しました。

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<script src="http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit" async defer></script>
52
Shakti Sharma

自分のサイト(自己)からのみスクリプトをロードできると言いました。その後、別のサイト(www.google.com)からスクリプトを読み込もうとしましたが、これを制限しているため、できません。それがコンテンツセキュリティポリシー(CSP)の全体のポイントです。

最初の行を次のように変更できます。

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.google.com">

または、代わりに、CSPについて詳しく知るまで、その行を完全に削除する価値があるかもしれません。とにかく現在のCSPはかなり緩い(unsafe-inlineunsafe-evalおよびdefault-src of *を許可している)ので、おそらくあまりにも多くの価値を追加していないでしょう。

48
Barry Pollard

同様のエラータイプを持つ。まず、コードにメタタグを追加しようとしましたが、機能しませんでした。

Nginx Webサーバーでは、外部コードの実行をブロックする可能性のあるセキュリティ設定がある場合があることがわかりました。

#security directives
server_tokens off;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'  https://ajax.googleapis.com  https://ssl.google-analytics.com https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src 'self' 'unsafe-inline' https://assets.zendesk.com; font-src 'self' https://fonts.gstatic.com  https://themes.googleusercontent.com; frame-src https://player.vimeo.com https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src 'none'";

Content-Security-Policyを確認してください。ソース参照を追加する必要がある場合があります。

6
aCustica

この質問は、このエラーメッセージに対するGoogleでの最初の結果であるため、ここに記載します。

ASP.NET Core Angular Visual Studio 2019で実行中のプロジェクトでは、Firefoxコンソールで次のエラーメッセージが表示されることがあります。

コンテンツセキュリティポリシー:ページの設定により、インラインでのリソースの読み込みがブロックされました(「default-src」)。

Chromeでは、代わりにエラーメッセージが表示されます。

リソースの読み込みに失敗しました:サーバーは404()のステータスで応答しました

私の場合、それは私のコンテンツセキュリティポリシーとは何の関係もありませんでしたが、代わりに単に私の側のTypeScriptエラーの結果でした。

次のようなIDE出力ウィンドウでTSエラーを確認します。

> ERROR in src/app/shared/models/person.model.ts(8,20): error TS2304: Cannot find name 'bool'.
>      
> i 「wdm」: Failed to compile.
1
Wellspring