Заголовки: CSP.script-src-attr
Content-Security-Policy: директива script-src-attr
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с декабря 2022 года.
Директива Content-Security-Policy (CSP) в заголовке HTTP script-src-attr задаёт допустимые источники для встроенных обработчиков событий JavaScript.
Эта директива задаёт допустимые источники только для встроенных обработчиков событий скриптов, например onclick. Она не применяется к другим источникам JavaScript, которые могут запускать выполнение скриптов, например к URL-адресам, непосредственно загружаемым в элементы <script>, и таблицам стилей XSLT. (Допустимые источники для всех источников скриптов JavaScript можно задать с помощью script-src, а только для элементов <script> — с помощью script-src-elem.)
| Версия CSP | 3 |
|---|---|
| Тип директивы | Директива Fetch |
Резервная директива default-src | Да. Если эта директива отсутствует, пользовательский агент проверит наличие директивы script-src, а если отсутствуют обе директивы, будет использоваться резервная директива default-src. |
Синтаксис
Content-Security-Policy: script-src-attr 'none'; Content-Security-Policy: script-src-attr <source-expression-list>;
Эта директива может принимать одно из следующих значений:
'none'-
Запрещает загружать ресурсы этого типа. Одинарные кавычки обязательны.
<source-expression-list>-
Список значений выражений источника, разделённых пробелами. Ресурсы этого типа можно загружать, если они соответствуют хотя бы одному из указанных выражений источника. Для этой директивы применимы следующие значения выражений источника:
script-src-attr можно использовать вместе с script-src; при проверке встроенных обработчиков эта директива будет иметь приоритет:
Content-Security-Policy: script-src <source>; Content-Security-Policy: script-src-attr <source>;
Примеры
>Случай нарушения
При следующем заголовке CSP:
Content-Security-Policy: script-src-attr 'none'
…следующий встроенный обработчик события будет заблокирован и не будет загружен или выполнен:
<button id="btn" onclick="doSomething()">Click me</button>
Обратите внимание: как правило, встроенные обработчики событий следует заменить вызовами addEventListener:
document.getElementById("btn").addEventListener("click", doSomething);
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
script-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/script-src-attr