Web & CMS

Что такое CSP (Content-Security-Policy)

Что это

Заголовок сайта, который говорит браузеру, откуда можно загружать шрифты, скрипты и картинки. Всё остальное браузер блокирует: на страницу не подмешать чужой код, и она не ходит на чужие серверы.

Как используем

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

Где это нужно бизнесу

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

Как мы это используем

На демо-стенде сайта музейного комплекса политика default-src 'self' запрещает браузеру любой чужой адрес. Шрифты (24 семейства, 218 начертаний под свободной лицензией), картинки, видео и снимок карты лежат на нашем сервере. Кнопка «Внешние загрузки» в панели презентации считает запросы прямо в браузере зрителя. Политику CSP вместе с другими заголовками безопасности отдаёт nginx.

Типичные проблемы

  • Счётчик аналитики. Внешние счётчики конфликтуют с жёсткой политикой. На демо Метрика работает в режиме «витрины» и только пишет события в журнал панели, а в боевом режиме молчит до согласия на cookie; запись сессий выключена, потому что она записывает ввод в поля форм.
  • Всё нужно хранить у себя. Шрифты, карты и видео придётся держать на своём сервере и следить за их размером.

Когда это не нужно

Строгая политика без внешних адресов избыточна, если сайт сознательно использует внешние сервисы — оплату, карты, виджеты. Тогда разрешённые адреса перечисляют явно.

← Все термины

Нужен сайт, бот или автоматизация?

Термины объяснили — теперь давайте к делу: расскажите о задаче, а мы переведём её на понятный план работ.