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, межсетевой экран, безопасность