Spec-Zone.ru › HTTP

Заголовки: CSP.style-src-attr

Content-Security-Policy: директива style-src-attr

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

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

  • Подробнее
  • Полная таблица совместимости
>

Директива HTTP Content-Security-Policy (CSP) style-src-attr задаёт допустимые источники для встроенных стилей, применяемых к отдельным элементам DOM.

Эта директива не задаёт допустимые источники для элементов <style> и элементов <link> с rel="stylesheet". Их источники задаются с помощью style-src-elem (а допустимые источники для всех стилей можно задать с помощью style-src).

Версия CSP 3
Тип директивы Директива Fetch
default-src запасная директива

Да. Если эта директива отсутствует, браузер проверит наличие директивы style-src. Если отсутствуют обе директивы, будет использоваться директива default-src.

Синтаксис

Content-Security-Policy: style-src-attr 'none';
Content-Security-Policy: style-src-attr <source-expression-list>;

Эта директива может принимать одно из следующих значений:

'none'

Не допускается загрузка ресурсов этого типа. Одинарные кавычки обязательны.

<source-expression-list>

Разделённый пробелами список значений выражений источника. Ресурсы этого типа можно загружать, если они соответствуют любому из указанных выражений источника. Для этой директивы применимы следующие значения выражений источника:

  • 'unsafe-hashes'
  • 'unsafe-inline'
  • 'report-sample'

style-src-attr можно использовать вместе с style-src:

Content-Security-Policy: style-src <source>;
Content-Security-Policy: style-src-attr <source>;

Примеры

>

Случаи нарушения

При наличии следующего заголовка CSP:

Content-Security-Policy: style-src-attr 'none'

…встроенный стиль, применённый к элементу ниже, не будет применён:

<div style="display: inline">Foo</div>

Эта политика также блокирует любые стили, применённые в JavaScript путём непосредственной установки атрибута style или установки cssText:

document.querySelector("div").setAttribute("style", "display: inline");
document.querySelector("div").style.cssText = "display: inline";

Свойства стиля, заданные непосредственно для свойства style элемента, не будут заблокированы. Это позволяет безопасно изменять стили с помощью JavaScript:

document.querySelector("div").style.display = "inline";

Обратите внимание, что использование JavaScript может быть отдельно заблокировано директивой CSP script-src.

Спецификации

Спецификация
Content Security Policy Level 3>
# directive-style-src-attr>

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
style-src-attr 75 79 108 62 15.4 75 108 54 15.4 11.0 75 15.4

См. также

  • Content-Security-Policy
  • style-src
  • style-src-elem
  • заголовок Link
  • <style>, <link>
  • @import
  • CSSStyleSheet.insertRule()
  • CSSGroupingRule.insertRule()
  • CSSStyleDeclaration.cssText

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/style-src-attr

Spec-Zone.ru

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