Недавно начал внедрять Content Security Policy на проекте — хотел понять, насколько реально помогает от всяких XSS и внедрений. Первое, что бросилось в глаза, — это насколько тонкая настройка нужна, иначе можно легко сломать функционал. У меня, например, слетели некоторые скрипты из-за жестких директив, пришлось долго ковыряться с allow-src.
Проверял через браузерные devtools и онлайн-сервисы, которые показывают, что блокируется и почему. Советую сразу вести лог и воспринимать ошибки CSP как подсказки, кто и что пытается загрузиться. Плюс стоит начать с report-only режима, чтобы понять, что реально мешает.
CSP — это, конечно, заморочка. Сначала кажется, что проще подождать, пока кто-то бахнет XSS, чем ковырять миллион директив. Но когда шаришь, реально помогает от мусора в коде. Главная беда — не затупить и не заблокировать что-то нужное, а то потом весь сайт как инопланетянин работает. Report-only — это святое, без него только боярыню пугаешь.
Согласен, report-only реально спасает от поломок в проде, сначала запускал так всегда. Ещё совет — не инициализировать все быстро и сразу, лучше по частям, чтоб понять, что именно ломается. Ну и console лог в браузере — друг номер один в борьбе с CSP.