Spec-Zone.ru › HTTP

CSP: trusted-types

CSP: trusted-types

Экспериментально: Это экспериментальная технология
Перед использованием в продакшене тщательно проверьте таблицу совместимости браузеров.

Директива HTTP Content-Security-Policy (CSP) trusted-types Экспериментально инструктирует пользовательские агенты ограничить создание политик Trusted Types — функций, создающих несфальсифицированные, типизированные значения, предназначенные для передачи в DOM-уязвимости к XSS вместо строк.

Вместе с директивой require-trusted-types-for это позволяет авторам определять правила, которые защищают запись значений в DOM, тем самым уменьшая область уязвимости к DOM-XSS до небольших, изолированных частей кода веб-приложения, что облегчает их мониторинг и код-ревью. Эта директива объявляет список разрешенных имён политик Trusted Types, созданных с помощью trustedTypes.createPolicy из API Trusted Types.

Синтаксис

Content-Security-Policy: trusted-types;
Content-Security-Policy: trusted-types 'none';
Content-Security-Policy: trusted-types <policyName>;
Content-Security-Policy: trusted-types <policyName> <policyName> 'allow-duplicates';
<policyName>

Допустимое имя политики состоит только из буквенно-цифровых символов или одного из "-#=_/@.%". Звёздочка (*) в качестве имени политики инструктирует пользовательский агент разрешить любое уникальное имя политики ('allow-duplicates' может ещё больше ослабить это ограничение).

'none'

Запрещает создание любых политик Trusted Type (то же самое, что и отсутствие любого <policyName>).

'allow-duplicates'

Разрешает создание политик с именем, которое уже использовалось.

Примеры

// Content-Security-Policy: trusted-types foo bar 'allow-duplicates';

if (typeof trustedTypes !== 'undefined') {
  const policyFoo = trustedTypes.createPolicy('foo', {});
  const policyFoo2 = trustedTypes.createPolicy('foo', {});
  const policyBaz = trustedTypes.createPolicy('baz', {}); // Throws and dispatches a SecurityPolicyViolationEvent.
}

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

Спецификация
Trusted Types
# trusted-types-csp-directive

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
trusted-types
83
83
Нет
Нет
69
Нет
83
83
Нет
Нет
Нет
13.0

См. также

  • Content-Security-Policy
  • Межсайтовый скриптинг (XSS)
  • Предотвращение уязвимостей DOM-based cross-site scripting с помощью Trusted Types
  • Trusted Types с DOMPurify — санитайзером XSS
  • Полнофункциональный Trusted Types

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

Spec-Zone.ru

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