Тежест: СреднаОтговорник: РазработкаВреме за корекция: 30-90 min
Consent banner-ът е блокиран от CSP
Обновете Content Security Policy така, че CMP script, styles или iframe ресурси да могат да се зареждат без ненужно отслабване на сигурността.
Покрива: cmp_blocked_by_csp, consent_banner_csp_error
Защо това е важно
Строгият CSP е добра практика за сигурност, но ако блокира самото CMP, сайтът може тихо да загуби целия си consent слой в продукция.
Как да го проверите ръчно
- Отворете DevTools конзолата и търсете CSP нарушения около CMP assets.
- Проверете дали banner script-ът, CSS, iframe или API endpoints се блокират.
- Сравнете поведението на CSP локално и в продукция, ако проблемът се появява само в продукция.
Типични причини
- CMP домейните не са позволени в script-src, frame-src или connect-src правилата.
- Nonce- или hash-базираните CSP правила не покриват inline bootstrap кода на CMP.
- Deploy е променил CSP headers без да валидира отново CMP dependencies.
Корекция в GTM
- Не разчитайте на GTM като workaround, ако самите CMP assets се блокират от CSP.
- Прегледайте дали GTM-инжектираните CMP fallback-и нарушават същите CSP правила.
- Тествайте отново след обновяване на CSP headers в продукция.
Корекция в WordPress или CMP плъгини
- Прегледайте security плъгини, hosting headers и CDN правила, които инжектират CSP.
- Whitelist-нете само CMP домейните, които реално се използват от banner конфигурацията.
- Тествайте отново с изключен browser cache след промени по headers.
Обща корекция за разработчици
- Whitelist-нете само минимално необходимите CMP origins за scripts, frames и API calls.
- Предпочитайте таргетирани CSP updates вместо да отслабвате цялата policy.
- Версионирайте CSP правилата и тествайте banner-а отново при всяка промяна.
Как да потвърдите, че корекцията работи
- Потвърдете, че CSP грешките, свързани с CMP assets, изчезват.
- Потвърдете, че banner-ът се render-ва нормално и приема user interaction.
- Пуснете нов scan и проверете, че banner issue-то изчезва.
Следваща стъпка
Пуснете ново сканиране след deploy, за да потвърдите, че се е променило реалното runtime поведение, а не само текстът на банера.