Заголовки: 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 запасная директива | Да. Если эта директива отсутствует, браузер проверит наличие директивы |
Синтаксис
Content-Security-Policy: style-src-attr 'none'; Content-Security-Policy: style-src-attr <source-expression-list>;
Эта директива может принимать одно из следующих значений:
'none'-
Не допускается загрузка ресурсов этого типа. Одинарные кавычки обязательны.
<source-expression-list>-
Разделённый пробелами список значений выражений источника. Ресурсы этого типа можно загружать, если они соответствуют любому из указанных выражений источника. Для этой директивы применимы следующие значения выражений источника:
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.
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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