--- title: 'CSP: default-src' slug: Web/HTTP/Headers/Content-Security-Policy/default-src tags: - CSP - Content-Security-Policy - Directive - HTTP - Reference - Security - default - default-src - source - コンテンツセキュリティポリシー translation_of: Web/HTTP/Headers/Content-Security-Policy/default-src ---
HTTP の {{HTTPHeader("Content-Security-Policy")}} (CSP) default-src
ディレクティブは、他の CSP {{Glossary("fetch directive", "フェッチディレクティブ")}}のフォールバックとして提供します。以下のディレクティブがいずれかが存在しないと、ユーザーエージェントは default-src
ディレクティブを探して、この値を使用します。
CSP バージョン | 1 |
---|---|
ディレクティブ種別 | {{Glossary("Fetch directive", "フェッチディレクティブ")}} |
default-src
ポリシーには、1つまたは複数のソースが許可されています。
Content-Security-Policy: default-src <source>; Content-Security-Policy: default-src <source> <source>;
<source> は以下のうちの一つを取ることができます。
'*'
) で始めることができ、更にポート番号にワイルドカード ('*'
) を使ってすべての有効なポート番号をソースとして示すことができます。http://*.example.com
: http:
のスキームを使用した、example.com のすべてのサブドメインからのすべての読み込みの試行に一致します。mail.example.com:443
: mail.example.com の 443番ポートへのアクセスの試行に一致します。https://store.example.com
: https:
を使用した store.example.com へのアクセスの試行に一致します。*.example.com
: 現在のプロトコルを使用した example.com のすべてのサブドメインからの読み込みのすべての試行に一致します。http:
または https:
のようなスキームです。コロンは必要です。以下の他の値とは異なり、単一引用符は使用しないでください。data スキームも指定することができます (非推奨)。
data:
コンテンツのソースとして data:
の URI を使うことができるようにします。これは安全ではありません。攻撃者は任意の data: URI を挿入することもできます。使用は控え、スクリプトには絶対に使用しないでください。mediastream:
mediastream:
の URI をコンテンツのソースとして使用することができるようにします。blob:
blob:
の URI をコンテンツのソースとして使用することができるようにします。filesystem:
filesystem:
の URI をコンテンツのソースとして使用することができるようにします。'self'
blob
および filesystem
を独自に除外していることがあります。これらのコンテンツ種別を許可する必要があるサイトは、Data 属性を使用して指定することができます。'unsafe-eval'
eval()
および同様のメソッドの利用を許可します。単一引用符が必要です。'unsafe-hashes'
javascript:
URL は不要な場合、これは unsafe-inline
を使うよりも安全なメソッドです。'unsafe-inline'
javascript:
の URL、インラインイベントハンドラー、インライン {{HTMLElement("style")}} 要素のような、インラインリソースの使用を許可します。単一引用符が必要です。'none'
'unsafe-inline'
を無視するようになります。script-src
で外部スクリプトが指定された場合にも利用できます。strict-dynamic
ソース表現は、ノンスやハッシュを付加して、それらがルートスクリプトに読み込まれるすべてのスクリプトに伝搬することで、マークアップ内のスクリプトに明示的な信用を指定します。それと同時に、'self'
や 'unsafe-inline'
といった、あらゆる許可リストやソース表現が無視されます。script-src の例を見てください。他のディレクティブが指定されている場合、default-src
は影響しません。
Content-Security-Policy: default-src 'self'; script-src https://example.com
は、下記のものと同じです。
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'
仕様書 | 状態 | 備考 |
---|---|---|
{{specName("CSP 3.0", "#directive-default-src", "default-src")}} | {{Spec2('CSP 3.0')}} | 既定として frame-src , manifest-src , worker-src を追加。 |
{{specName("CSP 1.1", "#directive-default-src", "default-src")}} | {{Spec2('CSP 1.1')}} | 初回定義 |
{{Compat("http.headers.csp.Content-Security-Policy.default-src")}}
upgrade-insecure-requests
block-all-mixed-content
require-sri-for
{{experimental_inline}}