CSP Конструктор

Content-Security-Policy Конструктор

Версия заголовка
 В данный момент рекомендуется использовать стандарт заголовка CSP Level 2
Протокол
Сайт доступен по незащищённому протоколу. В случае использования незащищённого протокола в работу скриптов и отображаемых изображений будут несанкционированно вмешиваться операторы связи и разного рода посредники, например, прокси-сервера, плагины в браузерах. Также незащищённый трафик наиболее подвержен атакам злоумышленников.

Сайт доступен по защищённому протоколу. Подделка передаваемого трафика практически невозможна, но программное обеспечение на конечных устройствах пользователей в состоянии вносить изменения в уже расшифрованный контент.
Значения по умолчанию
 Данные настройки будут применяться вместо тех директив *-src, которые не были заданы в явной форме.

Блокируются любые попытки что-либо загрузить и запустить на защищаемой странице или что-либо передать с неё.
Цели соединений
Разрешены загрузка с любых сайтов и/или исполнение внешних ресурсов на защищаемой странице, а также отправка данных с защищаемой страницы на любой сайт.

Загрузка и/или исполнение на защищаемой странице разрешена только для ресурсов в рамках исходного сайта. Отправка данных с защищаемой страницы разрешена только на исходный сайт.

Дополнительно разрешены загрузка с любых сайтов и/или исполнение внешних ресурсов на защищаемой странице, а также отправка данных с защищаемой страницы на указанные адреса сайтов.

При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Соединения
Блокируются любые попытки отправить данные с защищаемой странице.
Цели соединений
Данные с защищаемой страницы разрешено отправлять на любой сайт.

Данные с защищаемой страницы разрешено отправлять только на исходный сайт.

Данные со страницы разрешено отправлять на указанные сайты.

При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Шрифты
Никакие внешние шрифты не будут загружаться и не будут применяться на защищаемой странице.
Источники шрифтов
Разрешается загружать и использовать шрифты, размещённые на любых сайтах. Например, с помощью CSS-правила @font-face:
@font-face{ …; src: url("https://чужой-сайт.com/font.ttf"); }

Разрешается подключать и использовать файлы шрифтов, размещённые только на исходном сайте. Например, с помощью CSS-правила @font-face:
@font-face{ …; src: url("/font.ttf"); }

С этих сайтов также будет разрешена загрузка файлов шрифтов.

При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Фреймы
Блокируется размещение любых фреймов на защищаемой странице.
Источники фреймов
В качестве источника фрейма разрешается использовать файлы, размещённые на любых сайтах.

В качестве источника фрейма разрешается использовать файлы, размещённые только на исходном сайте.

С этих сайтов также будет разрешена загрузка файлов, отображаемых во фреймах.

При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Манифест
Источники манифеста



При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Изображения
Никакие изображения не будут загружаться и не будут отображаться на защищаемой странице.
Источники изображений
Разрешается загружать и использовать изображения, размещённые на любых сайтах. Например, с помощью HTML-элемента <img>:
<img src="https://чужой-сайт.com/image.png">
HTML-элемента <link>:
<link rel="preload" href="https://чужой-сайт.com/image.png" as="image">
или CSS *-image правил:
background-image: url("https://чужой-сайт.com/image.png");

Разрешается подключать и использовать файлы скриптов, размещённые только на исходном сайте. Например, с помощью HTML-элемента <img>:
<img src="/image.png">
HTML-элемента <link>:
<link rel="preload" href="/image.png" as="image">
или CSS *-image правил:
background-image: url("/image.png");

С этих сайтов также будет разрешена загрузка файлов изображений любым способом.

Разрешается использовать изображения, встроенные непосредственно в документ:
<img src="data:…">
или в CSS *-image правил:
background-image: url("data:…");

При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Скрипты
Никакие скрипты не будут загружаться и не будут выполняться на защищаемой странице.
Источники скриптов
Разрешается подключать и использовать файлы скриптов, размещённые на любых сайтах. Например, с помощью HTML-элемента <script>:
<script src="https://чужой-сайт.com/script.js"><script>
или с помощью HTML-элемента <link>:
<link rel="preload" href="https://чужой-сайт.com/script.js" as="script">

Разрешается подключать и использовать файлы скриптов, размещённые только на исходном сайте. Например, с помощью HTML-элемента <script>:
<script src="/script.js"><script>
или с помощью HTML-элемента <link>:
<link rel="preload" href="/script.js" as="script">

С этих сайтов также будет разрешена загрузка файлов скриптов любым способом.

Разрешается использовать встроенные в документ скрипты:
<script>
 …
</script>
и JavaScript-навигацию:
<a href="javascript:…">

Разрешается использовать обработчики событий, объявленные через атрибуты HTML-элементов:
<tag onevent="">

Разрешается использовать вычисления выражений с помощью небезопасной функции eval( ):
eval("");

При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Стили
Никакие стили не будут загружаться и не будут применяться к защищаемому документу.
Источники стилей
Разрешается подключать и использовать файлы таблиц стилей, размещённые на любых сайтах. Например, с помощью HTML-элемента <link>:
<link rel="stylesheet" href="https://чужой-сайт.com/style.css">
<link rel="preload" href="https://чужой-сайт.com/style.css" as="style">
или через CSS-правило @import:
@import url("https://чужой-сайт.com/style.css");

Разрешается подключать и использовать стилевые файлы, размещённые только на исходном сайте. Например, с помощью HTML-элемента <link>:
<link rel="stylesheet" href="/style.css">
<link rel="preload" href="/style.css" as="style">
или через CSS-правило @import:
@import url("/style.css");

С этих сайтов также будет разрешена загрузка стилевых файлов любым способом.

Разрешается использовать встроенные в документ таблицы стилей:
<style>
 …
</style>
В том числе и динамически создавать их на базе JavaScript-метода createElement:
document.createElement("style");

Разрешается использовать стили, объявленные в HTML-элементах через атрибут style:
<tag style="">
или установленные с помощью JavaScript-метода управления атрибутами setAttribute:
element.setAttribute("style", "");

При формировании отчёта о нарушении прикладывать пример кода, который вызвал нарушение. При наличии технической возможности в отчёте будут присутствовать первые 40 символов проблемного кода.
Отчёты о нарушении
В этом режиме нарушения безопасности обнаруживаются, но нарушители не блокируются. Рекомендуется использовать в самом начале настройки политики безопасности для оценки объёма проблемных транзакций.

Браузер пользователя формирует JSON-сообщение с описанием нарушения и передаёт его указанному скрипту.
Настройки отправки сообщений
Этот скрипт будет вызываться каждый раз, когда будет возникать нарушение. Скрипт будет получать данные о нарушении, которые можно сохранять в лог-файле и/или отправлять уведомление, например, на электронную почту.
Сервисы счётчиков
Разрешить использование скрипта счётчика Яндекс.Метрика.
Настройки
Разрешить Яндекс.Метрике проверять браузер на наличие активного блокировщика рекламы. Блокировщик рекламы может быть уже встроенным в браузер либо реализованным с помощью плагина к браузеру.

Разрешить использование скрипта Google Менеджер тегов.

Разрешить использование скрипта счётчика Рейтинг Mail.Ru.

Разрешить использование скрипта счётчика LiveInternet.
Рекламные сервисы
Разрешить использование скриптов рекламной системы Google AdSense.
География рекламных материалов

Разрешить использование скриптов Рекламной Сети Яндекс.

Разрешить использование скриптов рекламной системы myTarget от Mail.Ru.
Сервисы шрифтов
Разрешить использование внешних шрифтов Font Awesome.

Разрешить использование внешних шрифтов Google Fonts.
Прочие сервисы
Разрешить использование JavaScript-библиотеки JQuery.

Разрешить использование JavaScript-библиотеки Chart.js.

Разрешить использование встроенных видео YouTube.
Кнопки в разработке

PHP

Для скриптов, написанных на языке PHP, необходимо добавить строку с кодом в начало скрипта, до точки вывода основного контента.
header("Report-To: ");
header(": ");

Nginx

Для веб-сервера Nginx необходимо добавить строку с командой в файл конфигурации *.conf соответствующей секции server или location.
add_header Report-To "";

Apache

Для веб-сервера Apache необходимо добавить строку с командой в файл основной конфигурации httpd.conf или соответствующий файл .htaccess.
Header set Report-To ""

HTML-тег meta

В некоторых случаях правила безопасности контента удобнее размещать непосредственно в документе, в блоке мета-данных. Но этот способ имеет ограничения функциональности - в нём не предусмотрен режим отладки и не поддерживается отправка отчётов о нарушениях политики безопасности.
<meta http-equiv="Content-Security-Policy" content="">