Skip to content

Commit

Permalink
2024/08/13 時点の英語版に基づき更新
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Aug 22, 2024
1 parent b761196 commit 26bfff0
Showing 1 changed file with 21 additions and 21 deletions.
42 changes: 21 additions & 21 deletions files/ja/web/http/headers/content-security-policy/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Content-Security-Policy
slug: Web/HTTP/Headers/Content-Security-Policy
l10n:
sourceCommit: de2a90fe1c1cd578faaee3c7e2ff7c96bae9a545
sourceCommit: bb48907e64eb4bf60f17efd7d39b46c771d220a0
---

{{HTTPSidebar}}
Expand Down Expand Up @@ -43,16 +43,18 @@ Content-Security-Policy: <policy-directive>; <policy-directive>
- : [ウェブワーカー](/ja/docs/Web/API/Web_Workers_API)と、{{HTMLElement("frame")}} や {{HTMLElement("iframe")}} のような要素によって読み込まれる入れ子の閲覧コンテキストのための有効なソースを定義します。

> [!WARNING]
> 複合した閲覧コンテキストやワーカーを制御するには**`child-src`** の代わりに、それぞれ {{CSP("frame-src")}} および {{CSP("worker-src")}} を使用してください。
> 入れ子になった閲覧コンテキストやワーカーを制御するには**`child-src`** の代わりに、それぞれ {{CSP("frame-src")}} および {{CSP("worker-src")}} を使用してください。
- {{CSP("connect-src")}}
- : スクリプトインターフェイスによって読み込まれる URL を制限します。
- {{CSP("default-src")}}
- : 別の {{Glossary("Fetch directive", "Fetch ディレクティブ")}}に対する代替として提供します。
- : 別の {{Glossary("Fetch directive", "フェッチディレクティブ")}}に対する代替として提供します。
- {{CSP("fenced-frame-src")}} {{experimental_inline}}
- : {{HTMLElement("fencedframe")}} 要素に読み込む入れ子になった閲覧コンテキストの有効なソースを指定します。
- {{CSP("font-src")}}
- : {{cssxref("@font-face")}} によって読み込まれるフォントのための有効なソースを指定します。
- {{CSP("frame-src")}}
- : {{HTMLElement("frame")}} や {{HTMLElement("iframe")}} のような要素によって読み込まれる入れ子のコンテンツの閲覧のための有効なソースを指定します
- : {{HTMLElement("frame")}} や {{HTMLElement("iframe")}} のような要素によって読み込まれた入れ子のコンテンツの閲覧のための有効なソースを指定します
- {{CSP("img-src")}}
- : 画像やファビコンのための有効なソースを定義します。
- {{CSP("manifest-src")}}
Expand All @@ -61,11 +63,11 @@ Content-Security-Policy: <policy-directive>; <policy-directive>
- : {{HTMLElement("audio")}}、{{HTMLElement("video")}}、{{HTMLElement("track")}} 要素によって読み込むメディアのための有効なソースを指定します。
- {{CSP("object-src")}}

- : {{HTMLElement("object")}}{{HTMLElement("embed")}}、{{HTMLElement("applet")}} 要素のための有効なソースを指定します。
- : {{HTMLElement("object")}}{{HTMLElement("embed")}} 要素のための有効なソースを指定します。

> **メモ:** `object-src` で制御される要素は、おそらく古い HTML 要素に該当すると見なされ、標準化された新しい機能が利用できません(セキュリティ属性の `sandbox``<iframe>``allow` など)。従って、このフェッチディレクティブで制限を掛けることが**推奨されます** (例えば、可能であれば `object-src 'none'` を設定するなど)。
- {{CSP("prefetch-src")}} {{experimental_inline}}
- {{CSP("prefetch-src")}} {{Deprecated_Inline}} {{Non-standard_Inline}}
- : 事前にフェッチされるか描画される有効なソースを指定します。
- {{CSP("script-src")}}
- : JavaScript および WebAssembly のための有効なソースを指定します。
Expand Down Expand Up @@ -98,9 +100,7 @@ Content-Security-Policy: <policy-directive>; <policy-directive>
- {{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 を制限します。
- : {{HTMLElement("frame")}}、{{HTMLElement("iframe")}}、{{HTMLElement("object")}}、{{HTMLElement("embed")}} によってページに埋め込まれた有効な親を指定します。

### 報告ディレクティブ

Expand All @@ -119,7 +119,8 @@ Content-Security-Policy: <policy-directive>; <policy-directive>
> {{CSP("report-to")}} に対応しているブラウザーでは、 **`report-uri`** ディレクティブは無視されます。
- {{CSP("report-to")}}
- : `SecurityPolicyViolationEvent` を発生させます。
- : CSP 違反情報を送信するための報告エンドポイントまたはエンドポイントグループを識別するトークンをブラウザーに提供します。
トークンが表すエンドポイントは、他にも {{HTTPHeader("Reporting-Endpoints")}} などの HTTP ヘッダーでで指定されている場合があります。
### その他のディレクティブ
Expand All @@ -129,16 +130,12 @@ Content-Security-Policy: <policy-directive>; <policy-directive>
- {{CSP("trusted-types")}} {{experimental_inline}}
- : [Trusted Types](https://w3c.github.io/trusted-types/dist/spec/) ポリシーのホワイトリストを指定するために使用します (Trusted Types は、アプリケーションが DOM XSS インジェクションシンクをロックダウンして、文字列の代わりにスプーフィング不可能な型付きの値のみを受け入れるようにします)。
- {{CSP("upgrade-insecure-requests")}}
- : 安全でない URL (HTTP で提供されているもの) をすべて安全な URL (HTTPS で提供されているもの) に置き換えたかのように扱うようにユーザエージェントに指示します。このディレクティブは、書き換えが必要な安全でない古い URL が大量にあるウェブサイトを対象としています。
- : 安全でない URL (HTTP で提供されているもの) をすべて安全な URL (HTTPS で提供されているもの) に置き換えたかのように扱うようにユーザーエージェントに指示します。このディレクティブは、書き換えが必要な安全でない古い URL が大量にあるウェブサイトを対象としています。
### 非推奨のディレクティブ
- {{CSP("block-all-mixed-content")}} {{deprecated_inline}}
- : ページが HTTPS を使用して読み込まれた際に、 HTTP を使用して資産を読み込むことを防止します。
- {{CSP("plugin-types")}} {{deprecated_inline}} {{Non-standard_Inline}}
- : 読み込まれるリソースの種類を限定することで、文書に埋め込まれるプラグインの組を制限します。
- {{CSP("referrer")}} {{deprecated_inline}} {{non-standard_inline}}
- : ページから離れる際の [Referer](/ja/docs/Web/HTTP/Headers/Referer) (綴り注意) ヘッダー内の情報を指定するために使用されていました。代わりに {{HTTPHeader("Referrer-Policy")}} ヘッダーを使用してください。
## 値
Expand All @@ -155,17 +152,20 @@ Content-Security-Policy: <policy-directive>; <policy-directive>
- : ページ内のスクリプトに付随する nonce やハッシュによって与えられた信頼は、それが読み込むスクリプトに拡張されます。
- `'report-sample'`
- : 違反したコードのサンプルを違反レポートに含めて記載することを要求する。
- `'inline-speculation-rules'`
- : スクリプトに[投機ルール](/ja/docs/Web/API/Speculation_Rules_API)を含めることができます([`<script type="speculationrules">`](/ja/docs/Web/HTML/Element/script/type/speculationrules) も参照)。
### unsafe キーワード値
- `'unsafe-inline'`
- : インラインリソースの使用を許可します。
- `'unsafe-eval'`
- : {{jsxref("Global_Objects/eval", "eval")}} や {{domxref("Window.setImmediate", "setImmediate")}}{{non-standard_inline}}、`window.execScript` {{non-standard_inline}} のような動的コード評価の使用を許可します。
- : {{jsxref("Global_Objects/eval", "eval")}} や {{domxref("setTimeout()")}}、`window.execScript` {{non-standard_inline}} のような動的コード評価の使用を許可します。
- `'unsafe-hashes'`
- : 特定のインラインイベントハンドラーを有効にすることができます。
- `'unsafe-allow-redirects'` {{experimental_inline}}
- : TBD
- `'wasm-unsafe-eval'`
- : WebAssembly モジュールを読み込んで実行する際に、`'unsafe-eval'` による安全ではない JavaScript の実行を許可する必要がなくなります。
単一引用符は必須です。
### ホスト値
Expand All @@ -181,7 +181,7 @@ Content-Security-Policy: <policy-directive>; <policy-directive>
### その他の値
- `'nonce-*'`
- : スクリプトを許可するための暗号化された (一度しか使われない) ノンスです。サーバーは、ポリシーを送信するたびに、一意のノンス値を生成する必要があります。リソースのポリシーを迂回することは容易ではないため、推測されないノンスを提供することが重要です。これは [script の nonce 属性](/ja/docs/Web/HTML/Element/script#attr-nonce)と組み合わせて使用します。例えば、 `nonce-DhcnhD3khTMePgXwdayK9BsMqXjhguVV`
- : スクリプトを許可するための暗号化された (一度しか使われない) ノンスです。サーバーは、ポリシーを送信するたびに、一意のノンス値を生成する必要があります。リソースのポリシーを迂回することは容易ではないため、推測されないノンスを提供することが重要です。これは [script の nonce 属性](/ja/docs/Web/HTML/Element/script#nonce)と組み合わせて使用します。例えば、 `nonce-DhcnhD3khTMePgXwdayK9BsMqXjhguVV`
- `'sha*-*'`
- : sha256、sha384、sha512 のいずれかです。その後にダッシュと sha\* の値が続きます。例: `sha256-jzgBGA4UWFFmpOBq0JpdsySukE1FrEN5bUpoK8Z29fY=`
Expand All @@ -206,7 +206,7 @@ Content-Security-Policy: connect-src http://example.com/;
##

例: 安全でないインラインの eval を無効にし、https 経由でのリソース (画像、フォント、スクリプトなど) 読み込みを許可します。
例: 安全でないインラインの eval を無効にし、http 経由でのリソース (画像、フォント、スクリプトなど) 読み込みを許可します。

### HTTP ヘッダーの使用

Expand All @@ -232,7 +232,7 @@ Content-Security-Policy: default-src https: 'unsafe-eval' 'unsafe-inline'; objec
Content-Security-Policy-Report-Only: default-src https:; report-uri /csp-violation-report-endpoint/
```

その他の例は、[Mozilla Web Security Guidelines](https://infosec.mozilla.org/guidelines/web_security#Examples_5) を参照して下さい。
その他の例は、[Content Security Policy (CSP) の実装](/ja/docs/Web/Security/Practical_implementation_guides/CSP) を参照して下さい。

## 仕様書

Expand Down

0 comments on commit 26bfff0

Please sign in to comment.