PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое Content Security Policy?

DOM и браузер

Content Security Policy (CSP) — это механизм безопасности через HTTP-заголовок, который указывает браузеру, из каких источников разрешено загружать ресурсы, защищая главным образом от XSS.

Как работает

Сервер присылает заголовок с директивами, и браузер блокирует всё, что им не соответствует:

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

Даже если злоумышленник внедрит <script>, CSP не даст ему выполниться, если источник не разрешён.

Основные директивы

  • default-src — источник по умолчанию для всех типов.
  • script-src — откуда грузить/выполнять скрипты.
  • style-src, img-src, font-src, connect-src (fetch/XHR/WS).
  • frame-ancestors — кто может встраивать сайт в iframe (защита от clickjacking).

Значения

  • 'self' — свой origin, 'none' — запретить, конкретные домены.
  • 'unsafe-inline', 'unsafe-eval' — разрешить инлайн/eval (ослабляет защиту, избегать).
  • nonce/hash — безопасно разрешить конкретные инлайн-скрипты.

От чего защищает

  • XSS — блокирует инлайн и сторонние скрипты.
  • Инъекции ресурсов, кликджекинг, миксд-контент.

Внедрение

Начать с Content-Security-Policy-Report-Only (только отчёты), собрать нарушения, затем включить блокировку.

Коротко для собеседования

CSP — заголовок Content-Security-Policy, ограничивающий источники ресурсов через директивы (default-src, script-src, frame-ancestors). Главная задача — защита от XSS: блокирует инлайн и сторонние скрипты. Избегать 'unsafe-inline'; для нужных инлайнов — nonce/hash. Внедрять через Report-Only.

Другие вопросы раздела