この翻訳は不完全です。英語から この記事を翻訳 してください。

HTTP の Content-Security-Policy (CSP) default-src ディレクティブは、他の CSP フェッチディレクティブのフォールバックとして提供します。以下のディレクティブがいずれも存在しないと、ユーザーエージェントは default-src ディレクティブを探して、この値を使用します。

CSP バージョン 1
ディレクティブ種別 フェッチディレクティブ

構文

default-src ポリシーには、1つまたは複数のソースが許可されています。

Content-Security-Policy: default-src <source>;
Content-Security-Policy: default-src <source> <source>;

ソース

<source> は以下のうちの一つを取ることができます。

<host-source>
名前又は IP アドレスによるインターネットホストで、任意で URL スキームやポート番号を付けることができます。サイトのアドレスはワイルドカード (アスタリスク文字、 '*') で始めることができ、更にポート番号にワイルドカード ('*') を使ってすべての有効なポート番号をソースとして示すことができます。
例:
  • http://*.example.com: http: のスキームを使用した、 example.com のすべてのサブドメインからのすべての読み込みの試行に一致します。
  • mail.example.com:443: mail.example.com の443番ポートへのアクセスの試行に一致します。
  • https://store.example.com: https: を使用した store.example.com へのアクセスの試行に一致します。
<scheme-source>
'http:' 又は 'https:' のようなスキーマです。コロンは必要で、単一引用符は使用しないで使わないでください。 data スキーマも指定することができます (非推奨)。
  • data: コンテンツのソースとして data: の URI を使うことができるようにします。これは安全ではありません。攻撃者は任意の data: URI を挿入することもできます。使用は控え、スクリプトには絶対に使用しないでください。
  • mediastream: mediastream: の URI をコンテンツのソースとして使用することができるようにします。
  • blob: blob: の URI をコンテンツのソースとして使用することができるようにします。
  • filesystem: filesystem: の URI をコンテンツのソースとして使用することができるようにします。
'self'
保護された文書が提供されたオリジンを、同じ URL スキーム及びポート番号で参照します。単一引用符が必要です。ブラウザーによっては source ディレクティブから blob 及び filesystem を独自に除外していることがあります。これらのコンテンツ種別を許可する必要がるサイトは、 Data 属性を使用して指定することができます。
'unsafe-inline'
インラインの <script> 要素、 javascript: の URL、インラインイベントハンドラー、インライン <style> 要素のような、インラインリソースの使用を許可します。単一引用符が必要です。
'unsafe-eval'
文字列からコードを生成する eval() 及び同様のメソッドの利用を許可します。単一引用符が必要です。
'none'
空のセットを参照します。つまり、一致する URL はありません。単一引用符が必要です。
'nonce-<base64-value>'
A whitelist for specific inline scripts using a cryptographic nonce (number used once). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide an unguessable nonce, as bypassing a resource’s policy is otherwise trivial. See unsafe inline script for an example. Specifying nonce makes a modern browser ignore 'unsafe-inline' which could still be set for older browsers without nonce support.
'<hash-algorithm>-<base64-value>'
A sha256, sha384 or sha512 hash of scripts or styles. The use of this source consists of two portions separated by a dash: the encryption algorithm used to create the hash and the base64-encoded hash of the script or style. When generating the hash, don't include the <script> or <style> tags and note that capitalization and whitespace matter, including leading or trailing whitespace. See unsafe inline script for an example. In CSP 2.0 this applied only to inline scripts. CSP 3.0 allows it in the case of script-src for external scripts.
'strict-dynamic'
The strict-dynamic source expression specifies that the trust explicitly given to a script present in the markup, by accompanying it with a nonce or a hash, shall be propagated to all the scripts loaded by that root script. At the same time, any whitelist or source expressions such as 'self' or 'unsafe-inline' will be ignored. See script-src for an example.

No inheritance with default-src

If there are other directives specified, default-src does not influence them. The following header

Content-Security-Policy: default-src 'self'; script-src https://example.com

will be the same as:

Content-Security-Policy: connect-src 'self'; 
                         font-src 'self'; 
                         frame-src 'self'; 
                         img-src 'self'; 
                         manifest-src 'self'; 
                         media-src 'self'; 
                         object-src 'self'; 
                         script-src https://example.com; 
                         style-src 'self'; 
                         worker-src 'self'

仕様書

仕様書 状態 備考
Content Security Policy Level 3
default-src の定義
草案 既定として frame-src, manifest-src, worker-src を追加。
Content Security Policy Level 2
default-src の定義
勧告 初回定義。

ブラウザーの対応

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応251423 なし157
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 あり あり ?23 ?7.1 あり

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09
最終更新者: mfuji09,