Spec-Zone.ru › HTTP

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

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

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

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

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

Директива Content-Security-Policy (CSP) в HTTP default-src используется как резервное значение для других директив fetch CSP. Для каждой из следующих отсутствующих директив пользовательский агент проверяет наличие директивы default-src и использует её значение:

  • child-src
  • connect-src
  • font-src
  • frame-src
  • img-src
  • manifest-src
  • media-src
  • object-src
  • prefetch-src
  • script-src
  • script-src-elem
  • script-src-attr
  • style-src
  • style-src-elem
  • style-src-attr
  • worker-src
Версия CSP 1
Тип директивы Директива fetch

Синтаксис

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

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

'none'

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

<source-expression-list>

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

Примеры

>

Отсутствие наследования с default-src

Если указаны другие директивы, default-src на них не влияет. Следующий заголовок:

Content-Security-Policy: default-src 'self'; script-src https://example.com

эквивалентен следующему:

Content-Security-Policy: connect-src 'self';
                         font-src 'self';
                         frame-src 'self';
                         img-src 'self';
                         manifest-src 'self';
                         media-src 'self';
                         object-src 'self';
                         script-src https://example.com;
                         style-src 'self';
                         worker-src 'self'

Проблема Firefox с блокировкой SVG-спрайтов при default-src: none

Примечание: Эта проблема исправлена в Firefox 132; см. ошибку 1773976.

При создании CSP можно начать с default-src 'none', чтобы запретить загрузку всех ресурсов, а затем добавить дополнительные директивы, разрешающие загрузку нужных ресурсов. Например, чтобы разрешить загрузку только изображений с того же источника:

Content-Security-Policy: default-src 'none'; img-src 'self'

Однако здесь есть проблема. Если вы встраиваете SVG-спрайты, определённые во внешних файлах, с помощью элемента <use>, например:

<svg>
  <use href="/images/icons.svg#icon"/>
</svg>

изображения SVG будут заблокированы в Firefox, если у вас задана политика default-src 'none'. В отличие от других браузеров, Firefox не рассматривает SVG как встроенное изображение, поэтому img-src 'self' не позволит загружать такие ресурсы. Чтобы внешние спрайты загружались в Firefox, необходимо использовать default-src 'self'.

Если же политика default-src 'none' является обязательным требованием, можно встроить SVG-спрайты непосредственно в HTML-страницу:

<body>
  <svg style="display: none">
    <symbol id="icon" viewBox="0 0 24 24">
      <path d="…" />
    </symbol>
  </svg>
  …
  <svg>
    <use href="#icon" />
  </svg>
</body>

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

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

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

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS
default-src 25 14 23 15 7 25 23 14 7 1.5 4.4 7

См. также

  • Content-Security-Policy
  • Директивы CSP (https://w3c.github.io/webappsec-csp/#csp-directives):
    • Директива fetch
    • Директива document
    • Директива navigation
    • Директива reporting
    • upgrade-insecure-requests
    • block-all-mixed-content

© 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/default-src

Spec-Zone.ru

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