Opis problemu:
Na stronie wydawcy występowały problemy z poprawnym działaniem reklam lub elementów strony, ponieważ aktywna polityka Content Security Policy (CSP) nie zezwalała na ładowanie zasobów z zewnętrznych sieci CDN. Dotyczyło to popularnych bibliotek takich jak Bootstrap, jQuery, FontAwesome oraz innych skryptów i arkuszy stylów ładowanych spoza domeny strony. W efekcie część funkcjonalności strony lub reklamy mogła się nie wyświetlać lub działać nieprawidłowo.
Rozwiązanie:
Zmień obecną konfigurację na rozszerzoną konfigurację CSP:
<IfModule mod_headers.c>
Header always set Content-Security-Policy "\
default-src 'self'; \
frame-src 'self' https://mediaboxy.pl https://*.mediaboxy.pl; \
script-src 'self' 'unsafe-inline' 'unsafe-eval' \
https://mediaboxy.pl \
https://cdn.jsdelivr.net \
https://code.jquery.com \
https://maxcdn.bootstrapcdn.com; \
style-src 'self' 'unsafe-inline' \
https://cdn.jsdelivr.net \
https://maxcdn.bootstrapcdn.com \
https://fonts.googleapis.com; \
font-src 'self' \
https://cdn.jsdelivr.net \
https://fonts.gstatic.com \
https://maxcdn.bootstrapcdn.com; \
img-src 'self' data: https: http:; \
media-src 'self' https: http:; \
connect-src 'self' https://mediaboxy.pl;"
</IfModule>
Popularne CDN-y do dodania:
• Bootstrap: cdn.jsdelivr.net, maxcdn.bootstrapcdn.com
• jQuery: code.jquery.com, ajax.googleapis.com
• FontAwesome: cdnjs.cloudflare.com, use.fontawesome.com
• Google Fonts: fonts.googleapis.com, fonts.gstatic.com
Wnioski:
Problemy z wyświetlaniem reklam i poprawnym działaniem elementów strony nie wynikały z błędów w kodzie, lecz z zbyt restrykcyjnej polityki Content Security Policy (CSP), która nie uwzględniała zewnętrznych bibliotek ładowanych z CDN. Brak odpowiednich wyjątków w dyrektywach CSP powodował blokowanie skryptów, stylów i czcionek, co bezpośrednio wpływało na funkcjonalność strony oraz systemów reklamowych.
Zastosowanie rozszerzonej i świadomie skonfigurowanej polityki CSP, obejmującej najczęściej używane sieci CDN (Bootstrap, jQuery, FontAwesome, Google Fonts oraz MediaBoxy), pozwoliło przywrócić pełną funkcjonalność strony bez rezygnacji z bezpieczeństwa. Wniosek jest prosty: przy korzystaniu z zewnętrznych bibliotek i systemów reklamowych, polityka CSP musi być elastyczna i dostosowana do realnie wykorzystywanych źródeł, a nie oparta wyłącznie na domyślnych, restrykcyjnych ustawieniach.