From ff943249ca499b135106ff2d825ed264b1f6785f Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 25 Sep 2021 11:43:23 +0900 Subject: Web/HTTP/Headers/Content-Security-Policy を変換 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../headers/content-security-policy/index.html | 260 --------------------- .../http/headers/content-security-policy/index.md | 260 +++++++++++++++++++++ 2 files changed, 260 insertions(+), 260 deletions(-) delete mode 100644 files/ja/web/http/headers/content-security-policy/index.html create mode 100644 files/ja/web/http/headers/content-security-policy/index.md (limited to 'files/ja/web/http/headers') diff --git a/files/ja/web/http/headers/content-security-policy/index.html b/files/ja/web/http/headers/content-security-policy/index.html deleted file mode 100644 index cf181765d0..0000000000 --- a/files/ja/web/http/headers/content-security-policy/index.html +++ /dev/null @@ -1,260 +0,0 @@ ---- -title: Content-Security-Policy -slug: Web/HTTP/Headers/Content-Security-Policy -tags: - - CSP - - HTTP - - Reference - - Security - - header - - セキュリティ -translation_of: Web/HTTP/Headers/Content-Security-Policy ---- -
{{HTTPSidebar}}
- -

HTTP の Content-Security-Policy レスポンスヘッダーは、ウェブサイト管理者が、あるページにユーザーエージェントが読み込みを許可されたリソースを管理できるようにします。いくつかの例外を除いて、大半のポリシーにはサーバーオリジンとスクリプトエンドポイントの指定を含んでいます。これはクロスサイトスクリプティング攻撃 ({{Glossary("XSS")}}) を防ぐのに役立ちます。

- -

より詳細な情報は、 Content Security Policy (CSP) の入門記事を参照してください。

- - - - - - - - - - - - -
ヘッダー種別{{Glossary("Response header", "レスポンスヘッダー")}}
{{Glossary("Forbidden header name", "禁止ヘッダー名")}}いいえ
- -

構文

- -
Content-Security-Policy: <policy-directive>; <policy-directive>
-
- -

ここで、 <policy-directive> は次の要素で構成されます: <directive> <value> 内部の句読点なし。

- -

ディレクティブ

- -

{{Glossary("Fetch directive", "フェッチディレクティブ")}}

- -

フェッチディレクティブは、特定のリソース種別がロードされうる場所を制御します。

- -

Content Security Policy フェッチディレクティブの一覧

- -
-
{{CSP("child-src")}}
-
ウェブワーカーと、 {{HTMLElement("frame")}} や {{HTMLElement("iframe")}} のような要素によってロードされる入れ子状の閲覧コンテキストに対する有効なソースを定義します。 -
-

複合した閲覧コンテキストやワーカーを制御するには、 それぞれ {{CSP("frame-src")}} および {{CSP("worker-src")}} を child-src の代わりに使用してください。

-
-
-
{{CSP("connect-src")}}
-
script インターフェースによってロードされる URL を制限します。
-
{{CSP("default-src")}}
-
別の {{Glossary("Fetch directive", "Fetch ディレクティブ")}}に対する代替として提供します。
-
{{CSP("font-src")}}
-
{{cssxref("@font-face")}} によってロードされるフォントに対する有効なソースを指定します。
-
{{CSP("frame-src")}}
-
{{HTMLElement("frame")}} や {{HTMLElement("iframe")}} のような要素によってロードされる入れ子状のコンテンツの閲覧に対する有効なソースを指定します。
-
{{CSP("img-src")}}
-
画像や favicon に対する有効なソースを定義します。
-
{{CSP("manifest-src")}}
-
アプリケーションのマニフェストファイルに対する有効なソースを指定します。
-
{{CSP("media-src")}}
-
{{HTMLElement("audio")}}、{{HTMLElement("video")}} や {{HTMLElement("track")}} 要素によってロードするメディアに対する有効なソースを指定します。
-
{{CSP("object-src")}}
-
{{HTMLElement("object")}}、 {{HTMLElement("embed")}} や {{HTMLElement("applet")}} 要素に対する有効なソースを指定します。
-
object-src で制御される要素は、おそらく古い HTML 要素に該当すると見なされ、新しい標準機能が利用できません (セキュリティ属性の sandbox<iframe>allow など)。従って、このフェッチディレクティブで制限を掛けることが推奨されます (例えば、可能であれば object-src 'none' を設定するなど)。
-
{{CSP("prefetch-src")}}{{experimental_inline}}
-
事前にフェッチされるか描画される有効なソースを指定します。
-
{{CSP("script-src")}}
-
JavaScript に対する有効なソースを指定します。
-
{{CSP("script-src-elem")}}{{experimental_inline}}
-
JavaScript の {{HTMLElement("script")}} 要素に対する有効なソースを指定します。
-
{{CSP("script-src-attr")}}{{experimental_inline}}
-
JavaScript のインラインイベントハンドラーに対する有効なソースを指定します。
-
- -
-
{{CSP("style-src")}}
-
スタイルシートに対する有効なソースを指定します。
-
{{CSP("style-src-elem")}}{{experimental_inline}}
-
スタイルシートの {{HTMLElement("style")}} および {{HTMLElement("link")}} 要素に rel="stylesheet" がついたもののに対する有効なソースを指定します。
-
{{CSP("style-src-attr")}}{{experimental_inline}}
-
個々の DOM 要素に適用されるインラインスタイルの有効なソースを指定します。
-
{{CSP("worker-src")}}{{experimental_inline}}
-
{{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}} スクリプトに対する有効なソースを指定します。
-
- -

{{Glossary("Document directive", "文書ディレクティブ")}}

- -

文書ディレクティブは、ポリシーが適用される文書もしくは Worker 環境のプロパティを管理します。

- -

Content Security Policy 文書ディレクティブの一覧

- -
-
{{CSP("base-uri")}}
-
文書の {{HTMLElement("base")}} 要素で使用される URL を制限します。
-
{{CSP("plugin-types")}}
-
ロードされるリソースのタイプを限定することで、文書に埋め込まれるプラグインの組を制限します。
-
{{CSP("sandbox")}}
-
{{HTMLElement("iframe")}} と {{htmlattrxref("sandbox", "iframe")}} 属性に類似した要求リソースに対してサンドボックスを有効にします。
-
- - - -

ナビゲーションディレクティブは、例えばユーザーが移動する場所やフォームを送信する場所を管理します。

- -

Content Security Policy ナビゲーションディレクティブの一覧

- -
-
{{CSP("form-action")}}
-
指定のコンテキストからフォームの送信先として使用される URL を制限します。
-
{{CSP("frame-ancestors")}}
-
{{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, もしくは {{HTMLElement("applet")}} によってページに埋め込まれた有効な親を指定します。
-
{{CSP("navigate-to")}}{{experimental_inline}}
-
{{HTMLElement("form")}} ({{CSP("form-action")}} が指定されていない場合), {{HTMLElement("a")}}, {{DOMxRef("window.location")}}, {{DOMxRef("window.open")}}, など、あらゆる方法で文書からナビゲーションを行うことができる URL を制限します。
-
- -

{{Glossary("Reporting directive", "報告ディレクティブ")}}

- -

報告ディレクティブは CSP 違反の報告過程を制御します。 {{HTTPHeader("Content-Security-Policy-Report-Only")}} ヘッダーも参照してください。

- -

Content Security Policy 報告ディレクティブの一覧

- -
-
{{CSP("report-uri")}}{{deprecated_inline}}
-
ユーザーエージェントにコンテンツセキュリティポリシーの違反を報告するよう指示します。これらの違反の報告は、 {{Glossary("JSON")}} 文書を HTTP の POST リクエストで指定された URI に送信することで行われます。 -
-

{{CSP("report-to")}} ディレクティブは非推奨の report-uri ディレクティブを置き換えることを意図していますが、 {{CSP("report-to")}} はまだ多くのブラウザーで対応されていません。そのため、ブラウザーで {{CSP("report-to")}} の対応が行われるまでは現在のブラウザーとの互換性のため、 report-uri および {{CSP("report-to")}} の両方を指定することができます。

- -
Content-Security-Policy: ...; report-uri https://endpoint.example.com; report-to groupname
- -

{{CSP("report-to")}} に対応したブラウザーでは、 report-uri ディレクティブは無視されます。

-
-
-
{{CSP("report-to")}}{{experimental_inline}}
-
SecurityPolicyViolationEvent を発生させます。
-
- -

その他のディレクティブ

- -
-
{{CSP("block-all-mixed-content")}}
-
ページが HTTPS を使用して読み込まれた際に、 HTTP を使用して資産を読み込むことを防止します。
-
{{CSP("referrer")}}{{deprecated_inline}}{{non-standard_inline}}
-
ページから離れる際の Referer ヘッダー内の情報を指定するために使用されていました。代わりに {{HTTPHeader("Referrer-Policy")}} ヘッダーを使用してください。
-
{{CSP("require-sri-for")}}{{experimental_inline}}
-
ページ上のスクリプトやスタイルに {{Glossary("SRI")}} の使用を要求します。
-
{{CSP("require-trusted-types-for")}}{{experimental_inline}}
-
DOM XSS インジェクションシンクで Trusted Types を強制します。
-
- -
-
{{CSP("trusted-types")}}{{experimental_inline}}
-
Trusted Types ポリシーのホワイトリストを指定するために使用します (Trusted Types は、アプリケーションが DOM XSS インジェクションシンクをロックダウンして、文字列の代わりにスプーフィング不可能な型付きの値のみを受け入れるようにします)。
-
- -
-
{{CSP("upgrade-insecure-requests")}}
-
安全でない URL (HTTP で提供されているもの) をすべて安全な URL (HTTPS で提供されているもの) に置き換えたかのように扱うようにユーザエージェントに指示します。このディレクティブは、書き換えが必要な安全でない古い URL が大量にあるウェブサイトを対象としています。
-
- -

Worker 内の CSP

- -

Worker は、一般的に文書 (もしくは親 Worker) の Content Security Policy によって管理されません。Worker に対する Content Security Policy を指定するには、Worker スクリプト自身が要求したリクエストに対して Content-Security-Policy レスポンスヘッダーを設定して下さい。

- -

Worker スクリプトのオリジンがグローバルで一意の識別子の場合、(例えば、URL がデータやブロブのスキーマの場合)、例外に当たります。この場合、Worker は文書もしくは作成元の Worker の Content Security Policy を継承します。

- -

複数の CSP

- -

CSP では、Content-Security-Policy ヘッダー、{{HTTPHeader("Content-Security-Policy-Report-Only")}} ヘッダーや {{HTMLElement("meta")}} 要素を経由したものを含む、リソースに対して複数のポリシーを指定することができます。

- -

以下の例のように、 Content-Security-Policy ヘッダーを複数回使うことができます。ここでは {{CSP("connect-src")}} ディレクティブに特に注意してください。2つ目のポリシーでは接続を許可しているにもかかわらず、1つ目のポリシーには connect-src 'none' が含まれています。追加のポリシーを追加すると、保護されたリソースの機能がさらに制限することができるだけで、接続は許可されず、最も厳密なポリシーとして connect-src 'none' が強制されます。

- -
Content-Security-Policy: default-src 'self' http://example.com;
-                         connect-src 'none';
-Content-Security-Policy: connect-src http://example.com/;
-                         script-src http://example.com/
- -

- -

例: 安全でない inline/eval を無効にし、https 経由でのリソース (画像、フォント、スクリプトなど) のロードを許します。

- -
// ヘッダー
-Content-Security-Policy: default-src https:
-
-// メタタグ
-<meta http-equiv="Content-Security-Policy" content="default-src https:">
-
- -

例: 修正のためにインラインコードを多用している既存のサイトで、https 経由でのみロードされるリソースを明確にし、プラグインを無効にします。

- -
Content-Security-Policy: default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'
- -

例: 上記のポリシーを実装せず、代わりに、発生するであろう違反を報告します。

- -
Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-endpoint/
- -

その他の例は、 Mozilla Web Security Guidelines を参照して下さい。

- -

仕様書

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
仕様書状態備考
{{specName("CSP 3.0")}}{{Spec2("CSP 3.0")}}manifest-src, navigate-to, report-to, strict-dynamic, worker-src を追加。 frame-src の非推奨を解除。 report-urireport-to の代わりに非推奨化。
{{specName("Mixed Content")}}{{Spec2("Mixed Content")}}block-all-mixed-content を追加。
{{specName("Subresource Integrity")}}{{Spec2("Subresource Integrity")}}require-sri-for を追加。
{{specName("Upgrade Insecure Requests")}}{{Spec2("Upgrade Insecure Requests")}}upgrade-insecure-requests を追加。
{{specName("CSP 1.1")}}{{Spec2("CSP 1.1")}}base-uri, child-src, form-action, frame-ancestors, plugin-types, referrer, report-uri を追加。 frame-src を非推奨化。
{{specName("CSP 1.0")}}{{Spec2("CSP 1.0")}}connect-src, default-src, font-src, frame-src, img-src, media-src, object-src, report-uri, sandbox, script-src,, style-src を定義。
- -

ブラウザーの互換性

- -

{{Compat("http.headers.csp.Content-Security-Policy")}}

- -

関連情報

- - diff --git a/files/ja/web/http/headers/content-security-policy/index.md b/files/ja/web/http/headers/content-security-policy/index.md new file mode 100644 index 0000000000..c13723a4de --- /dev/null +++ b/files/ja/web/http/headers/content-security-policy/index.md @@ -0,0 +1,260 @@ +--- +title: Content-Security-Policy +slug: Web/HTTP/Headers/Content-Security-Policy +tags: + - CSP + - HTTP + - Reference + - Security + - header + - セキュリティ +translation_of: Web/HTTP/Headers/Content-Security-Policy +--- +
{{HTTPSidebar}}
+ +

HTTP の Content-Security-Policy レスポンスヘッダーは、ウェブサイト管理者が、あるページにユーザーエージェントが読み込みを許可されたリソースを管理できるようにします。いくつかの例外を除いて、大半のポリシーにはサーバーオリジンとスクリプトエンドポイントの指定を含んでいます。これはクロスサイトスクリプティング攻撃 ({{Glossary("Cross-site_scripting")}}) を防ぐのに役立ちます。

+ +

より詳細な情報は、 Content Security Policy (CSP) の入門記事を参照してください。

+ + + + + + + + + + + + +
ヘッダー種別{{Glossary("Response header", "レスポンスヘッダー")}}
{{Glossary("Forbidden header name", "禁止ヘッダー名")}}いいえ
+ +

構文

+ +
Content-Security-Policy: <policy-directive>; <policy-directive>
+
+ +

ここで、 <policy-directive> は次の要素で構成されます: <directive> <value> 内部の句読点なし。

+ +

ディレクティブ

+ +

{{Glossary("Fetch directive", "フェッチディレクティブ")}}

+ +

フェッチディレクティブは、特定のリソース種別がロードされうる場所を制御します。

+ +

Content Security Policy フェッチディレクティブの一覧

+ +
+
{{CSP("child-src")}}
+
ウェブワーカーと、 {{HTMLElement("frame")}} や {{HTMLElement("iframe")}} のような要素によってロードされる入れ子状の閲覧コンテキストに対する有効なソースを定義します。 +
+

複合した閲覧コンテキストやワーカーを制御するには、 それぞれ {{CSP("frame-src")}} および {{CSP("worker-src")}} を child-src の代わりに使用してください。

+
+
+
{{CSP("connect-src")}}
+
script インターフェースによってロードされる URL を制限します。
+
{{CSP("default-src")}}
+
別の {{Glossary("Fetch directive", "Fetch ディレクティブ")}}に対する代替として提供します。
+
{{CSP("font-src")}}
+
{{cssxref("@font-face")}} によってロードされるフォントに対する有効なソースを指定します。
+
{{CSP("frame-src")}}
+
{{HTMLElement("frame")}} や {{HTMLElement("iframe")}} のような要素によってロードされる入れ子状のコンテンツの閲覧に対する有効なソースを指定します。
+
{{CSP("img-src")}}
+
画像や favicon に対する有効なソースを定義します。
+
{{CSP("manifest-src")}}
+
アプリケーションのマニフェストファイルに対する有効なソースを指定します。
+
{{CSP("media-src")}}
+
{{HTMLElement("audio")}}、{{HTMLElement("video")}} や {{HTMLElement("track")}} 要素によってロードするメディアに対する有効なソースを指定します。
+
{{CSP("object-src")}}
+
{{HTMLElement("object")}}、 {{HTMLElement("embed")}} や {{HTMLElement("applet")}} 要素に対する有効なソースを指定します。
+
object-src で制御される要素は、おそらく古い HTML 要素に該当すると見なされ、新しい標準機能が利用できません (セキュリティ属性の sandbox<iframe>allow など)。従って、このフェッチディレクティブで制限を掛けることが推奨されます (例えば、可能であれば object-src 'none' を設定するなど)。
+
{{CSP("prefetch-src")}}{{experimental_inline}}
+
事前にフェッチされるか描画される有効なソースを指定します。
+
{{CSP("script-src")}}
+
JavaScript に対する有効なソースを指定します。
+
{{CSP("script-src-elem")}}{{experimental_inline}}
+
JavaScript の {{HTMLElement("script")}} 要素に対する有効なソースを指定します。
+
{{CSP("script-src-attr")}}{{experimental_inline}}
+
JavaScript のインラインイベントハンドラーに対する有効なソースを指定します。
+
+ +
+
{{CSP("style-src")}}
+
スタイルシートに対する有効なソースを指定します。
+
{{CSP("style-src-elem")}}{{experimental_inline}}
+
スタイルシートの {{HTMLElement("style")}} および {{HTMLElement("link")}} 要素に rel="stylesheet" がついたもののに対する有効なソースを指定します。
+
{{CSP("style-src-attr")}}{{experimental_inline}}
+
個々の DOM 要素に適用されるインラインスタイルの有効なソースを指定します。
+
{{CSP("worker-src")}}{{experimental_inline}}
+
{{domxref("Worker")}}, {{domxref("SharedWorker")}}, {{domxref("ServiceWorker")}} スクリプトに対する有効なソースを指定します。
+
+ +

{{Glossary("Document directive", "文書ディレクティブ")}}

+ +

文書ディレクティブは、ポリシーが適用される文書もしくは Worker 環境のプロパティを管理します。

+ +

Content Security Policy 文書ディレクティブの一覧

+ +
+
{{CSP("base-uri")}}
+
文書の {{HTMLElement("base")}} 要素で使用される URL を制限します。
+
{{CSP("plugin-types")}}
+
ロードされるリソースのタイプを限定することで、文書に埋め込まれるプラグインの組を制限します。
+
{{CSP("sandbox")}}
+
{{HTMLElement("iframe")}} と {{htmlattrxref("sandbox", "iframe")}} 属性に類似した要求リソースに対してサンドボックスを有効にします。
+
+ + + +

ナビゲーションディレクティブは、例えばユーザーが移動する場所やフォームを送信する場所を管理します。

+ +

Content Security Policy ナビゲーションディレクティブの一覧

+ +
+
{{CSP("form-action")}}
+
指定のコンテキストからフォームの送信先として使用される URL を制限します。
+
{{CSP("frame-ancestors")}}
+
{{HTMLElement("frame")}}, {{HTMLElement("iframe")}}, {{HTMLElement("object")}}, {{HTMLElement("embed")}}, もしくは {{HTMLElement("applet")}} によってページに埋め込まれた有効な親を指定します。
+
{{CSP("navigate-to")}}{{experimental_inline}}
+
{{HTMLElement("form")}} ({{CSP("form-action")}} が指定されていない場合), {{HTMLElement("a")}}, {{DOMxRef("window.location")}}, {{DOMxRef("window.open")}}, など、あらゆる方法で文書からナビゲーションを行うことができる URL を制限します。
+
+ +

{{Glossary("Reporting directive", "報告ディレクティブ")}}

+ +

報告ディレクティブは CSP 違反の報告過程を制御します。 {{HTTPHeader("Content-Security-Policy-Report-Only")}} ヘッダーも参照してください。

+ +

Content Security Policy 報告ディレクティブの一覧

+ +
+
{{CSP("report-uri")}}{{deprecated_inline}}
+
ユーザーエージェントにコンテンツセキュリティポリシーの違反を報告するよう指示します。これらの違反の報告は、 {{Glossary("JSON")}} 文書を HTTP の POST リクエストで指定された URI に送信することで行われます。 +
+

{{CSP("report-to")}} ディレクティブは非推奨の report-uri ディレクティブを置き換えることを意図していますが、 {{CSP("report-to")}} はまだ多くのブラウザーで対応されていません。そのため、ブラウザーで {{CSP("report-to")}} の対応が行われるまでは現在のブラウザーとの互換性のため、 report-uri および {{CSP("report-to")}} の両方を指定することができます。

+ +
Content-Security-Policy: ...; report-uri https://endpoint.example.com; report-to groupname
+ +

{{CSP("report-to")}} に対応したブラウザーでは、 report-uri ディレクティブは無視されます。

+
+
+
{{CSP("report-to")}}{{experimental_inline}}
+
SecurityPolicyViolationEvent を発生させます。
+
+ +

その他のディレクティブ

+ +
+
{{CSP("block-all-mixed-content")}}
+
ページが HTTPS を使用して読み込まれた際に、 HTTP を使用して資産を読み込むことを防止します。
+
{{CSP("referrer")}}{{deprecated_inline}}{{non-standard_inline}}
+
ページから離れる際の Referer ヘッダー内の情報を指定するために使用されていました。代わりに {{HTTPHeader("Referrer-Policy")}} ヘッダーを使用してください。
+
{{CSP("require-sri-for")}}{{experimental_inline}}
+
ページ上のスクリプトやスタイルに {{Glossary("SRI")}} の使用を要求します。
+
{{CSP("require-trusted-types-for")}}{{experimental_inline}}
+
DOM XSS インジェクションシンクで Trusted Types を強制します。
+
+ +
+
{{CSP("trusted-types")}}{{experimental_inline}}
+
Trusted Types ポリシーのホワイトリストを指定するために使用します (Trusted Types は、アプリケーションが DOM XSS インジェクションシンクをロックダウンして、文字列の代わりにスプーフィング不可能な型付きの値のみを受け入れるようにします)。
+
+ +
+
{{CSP("upgrade-insecure-requests")}}
+
安全でない URL (HTTP で提供されているもの) をすべて安全な URL (HTTPS で提供されているもの) に置き換えたかのように扱うようにユーザエージェントに指示します。このディレクティブは、書き換えが必要な安全でない古い URL が大量にあるウェブサイトを対象としています。
+
+ +

Worker 内の CSP

+ +

Worker は、一般的に文書 (もしくは親 Worker) の Content Security Policy によって管理されません。Worker に対する Content Security Policy を指定するには、Worker スクリプト自身が要求したリクエストに対して Content-Security-Policy レスポンスヘッダーを設定して下さい。

+ +

Worker スクリプトのオリジンがグローバルで一意の識別子の場合、(例えば、URL がデータやブロブのスキーマの場合)、例外に当たります。この場合、Worker は文書もしくは作成元の Worker の Content Security Policy を継承します。

+ +

複数の CSP

+ +

CSP では、Content-Security-Policy ヘッダー、{{HTTPHeader("Content-Security-Policy-Report-Only")}} ヘッダーや {{HTMLElement("meta")}} 要素を経由したものを含む、リソースに対して複数のポリシーを指定することができます。

+ +

以下の例のように、 Content-Security-Policy ヘッダーを複数回使うことができます。ここでは {{CSP("connect-src")}} ディレクティブに特に注意してください。2つ目のポリシーでは接続を許可しているにもかかわらず、1つ目のポリシーには connect-src 'none' が含まれています。追加のポリシーを追加すると、保護されたリソースの機能がさらに制限することができるだけで、接続は許可されず、最も厳密なポリシーとして connect-src 'none' が強制されます。

+ +
Content-Security-Policy: default-src 'self' http://example.com;
+                         connect-src 'none';
+Content-Security-Policy: connect-src http://example.com/;
+                         script-src http://example.com/
+ +

+ +

例: 安全でない inline/eval を無効にし、https 経由でのリソース (画像、フォント、スクリプトなど) のロードを許します。

+ +
// ヘッダー
+Content-Security-Policy: default-src https:
+
+// メタタグ
+<meta http-equiv="Content-Security-Policy" content="default-src https:">
+
+ +

例: 修正のためにインラインコードを多用している既存のサイトで、https 経由でのみロードされるリソースを明確にし、プラグインを無効にします。

+ +
Content-Security-Policy: default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'
+ +

例: 上記のポリシーを実装せず、代わりに、発生するであろう違反を報告します。

+ +
Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-endpoint/
+ +

その他の例は、 Mozilla Web Security Guidelines を参照して下さい。

+ +

仕様書

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
仕様書状態備考
{{specName("CSP 3.0")}}{{Spec2("CSP 3.0")}}manifest-src, navigate-to, report-to, strict-dynamic, worker-src を追加。 frame-src の非推奨を解除。 report-urireport-to の代わりに非推奨化。
{{specName("Mixed Content")}}{{Spec2("Mixed Content")}}block-all-mixed-content を追加。
{{specName("Subresource Integrity")}}{{Spec2("Subresource Integrity")}}require-sri-for を追加。
{{specName("Upgrade Insecure Requests")}}{{Spec2("Upgrade Insecure Requests")}}upgrade-insecure-requests を追加。
{{specName("CSP 1.1")}}{{Spec2("CSP 1.1")}}base-uri, child-src, form-action, frame-ancestors, plugin-types, referrer, report-uri を追加。 frame-src を非推奨化。
{{specName("CSP 1.0")}}{{Spec2("CSP 1.0")}}connect-src, default-src, font-src, frame-src, img-src, media-src, object-src, report-uri, sandbox, script-src,, style-src を定義。
+ +

ブラウザーの互換性

+ +

{{Compat("http.headers.csp.Content-Security-Policy")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf