EMZETT.
Войти

Content Security Policy (CSP)

Коротко: Заголовок HTTP, с помощью которого сайт сообщает браузеру, откуда именно можно загружать скрипты, изображения, стили и другой контент, — браузер блокирует всё остальное.

Подробнее: Политика состоит из правил («директив»), таких как script-src (разрешённые источники скриптов), img-src, connect-src (разрешённые соединения через fetch) и frame-ancestors (кто может встраивать страницу). Она работает как вторая линия защиты от XSS: даже если злоумышленник может внедрить HTML, браузер не выполнит чужие скрипты, если политика запрещает.

Наш контекст: Emzett задаёт CSP в next.config.ts вместе с HSTS, X-Frame-Options: DENY и nosniff. У вики своя CSP без источников CDN — все скрипты на нашем собственном домене. Честно говоря, наша политика всё ещё допускает 'unsafe-inline' для скриптов, потому что Next.js создаёт встроенные скрипты; более строгий вариант с nonce в списке улучшений.

Подробности

Типичные директивы

  • default-src 'self': базовое правило, только собственный домен.
  • script-src: разрешённые скрипты; 'unsafe-inline' и 'unsafe-eval' сильно ослабляют защиту.

См. также: XSS, межсетевой экран, безопасность