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, міжмережевий екран, безпека