web-dev-qa-db-ja.com

コンテンツセキュリティポリシー(CSP)ヘッダー:各ファイルまたは実際のHTMLページのみ?

現在、コンテンツセキュリティポリシー(CSP)ヘッダーをアプリケーションに追加しています。ヘッダーをどのファイルに添付する必要があるのか​​と思います。調査の結果、明確な答えは見つかりませんでした。

Twitter、例:実際のHTMLドキュメントに追加するだけです。しかし、FacebookはそれをほぼすべてのリソースとHTMLドキュメント(HTML、JS、CSSなど)に追加しました。

では、コンテンツセキュリティポリシーのヘッダーを、提供される各リソースファイルに追加する必要があるのでしょうか、それともHTMLドキュメントにのみ追加する必要があるのでしょうか。 Ajax(JSONコンテンツ)リクエストではどのように機能しますか? SPA(index.htmlファイルまたはすべてのリソースのみ)でどのように機能しますか?セキュリティの観点から必要がない場合は、各ファイルに長いCSPヘッダーを追加してページの速度を低下させたくありません。

編集:

明確にするために:CSPヘッダーが添付されている場合、ブラウザーは画像やその他の非ドキュメントリソースを異なる方法で処理しますか?

14
ssc-hrep3

HTTPコンテンツセキュリティポリシーレスポンスヘッダー をサポートするブラウザは、レスポンスヘッダーまたはメタタグに有効なコンテンツと見なされるドメインを制限するコンテンツセキュリティポリシーディレクティブが含まれているページで、画像(およびその他のコンテンツ)が読み込まれないようにしますソース、すべてのコンテンツがHTTPSなどを介して読み込まれることを要求します。 最も広く使用されている最新のブラウザはコンテンツセキュリティポリシーをサポートしています を適用して、HTTPリクエストに関連付けられているコンテンツリソース(画像を含む)の大部分を制御しますWebワーカーのリソース制御はSafariおよびIEでサポートされておらず、EdgeまたはOperaではサポートされていない可能性があります)。

具体的には、 img-src ポリシーディレクティブをコンテンツセキュリティポリシーに含めて、画像の有効なソースと見なされるドメインを制限したり、HTTPSスキームなどを要求したりすることができます。フォント、フレーム、メディア(オーディオ、ビデオなど)、スクリプト、スタイルシート、Webワーカーなど、その他のさまざまなリソース.

有効なコンテンツソースを制限する各HTTPリクエストの一部としてWebサーバーから返されるHTTP応答ヘッダーの一部としてコンテンツセキュリティポリシーを含めるか、リクエストされたページにコンテンツセキュリティポリシーメタが含まれていることを確認する必要がありますのようなタグ...

<meta http-equiv="Content-Security-Policy" content="default-src 'self';">

IE 10以上のブラウザはコンテンツセキュリティポリシーの応答ヘッダーをサポートしていますが、メタタグはサポートしていません(IEをサポートする場合は、注意が必要な特定の実装の詳細もあります)。

0
benvc

各ファイルに長いCSPヘッダーを追加してページを遅くする

おそらく4 Not Modified statusの場合-CSPヘッダーが送信されていません
-初期読み込み時のみ

0
IvanM