Opis problemu:
Na stronie wydawcy osadzone filmy z YouTube, mapy Google lub czcionki Google Fonts nie wyświetlały się poprawnie. Przyczyną była zbyt restrykcyjna polityka Content Security Policy (CSP), która nie zezwalała na ładowanie zasobów z domen Google. W efekcie elementy multimedialne oraz mapy mogły być niewidoczne lub działać nieprawidłowo, co wpływało na funkcjonalność strony i komfort użytkowników.
Rozwiązanie:
Zmień obecną konfigurację na rozszerzoną konfigurację CSP. YouTube, Google Fonts, Google Maps i skrypt MediaBoxy korzystają z zewnętrznych domen do ładowania filmów, czcionek, skryptów i zasobów map. Jeśli domeny te nie są jawnie dozwolone w CSP, przeglądarka automatycznie blokuje ich użycie w ramach zabezpieczeń.
<IfModule mod_headers.c>
Header always set Content-Security-Policy "\
default-src 'self'; \
frame-src 'self' \
https://mediaboxy.pl https://*.mediaboxy.pl \
https://www.youtube.com https://www.youtube-nocookie.com \
https://www.google.com/maps; \
script-src 'self' 'unsafe-inline' 'unsafe-eval' \
https://mediaboxy.pl \
https://www.youtube.com \
https://www.gstatic.com \
https://maps.googleapis.com; \
style-src 'self' 'unsafe-inline' \
https://fonts.googleapis.com; \
font-src 'self' \
https://fonts.gstatic.com; \
img-src 'self' data: https: http: \
https://i.ytimg.com \
https://maps.googleapis.com; \
media-src 'self' https: http:; \
connect-src 'self' https://mediaboxy.pl;"
</IfModule>
| Serwis | Domeny do dodania | Dyrektywy CSP |
|---|---|---|
| YouTube |
youtube.comyoutube-nocookie.comytimg.com
|
frame-srcscript-srcimg-src
|
| Google Fonts |
fonts.googleapis.comfonts.gstatic.com
|
style-srcfont-src
|
| Google Maps |
google.com/mapsmaps.googleapis.comgstatic.com
|
frame-srcscript-srcimg-src
|
| MediaBoxy |
mediaboxy.pl*.mediaboxy.pl
|
frame-srcscript-srcconnect-src
|
Wnioski:
Problem z nieprawidłowym wyświetlaniem filmów YouTube, czcionek Google Fonts oraz map Google Maps nie wynikał z błędów po stronie samych usług, lecz z niepełnej konfiguracji polityki Content Security Policy (CSP). Brak jawnie dozwolonych domen Google powodował, że przeglądarka blokowała ładowanie kluczowych zasobów multimedialnych i wizualnych, co negatywnie wpływało na funkcjonalność strony oraz doświadczenie użytkowników.
Zastosowanie rozszerzonej, świadomie skonfigurowanej polityki CSP, obejmującej domeny YouTube, Google Fonts, Google Maps oraz systemu MediaBoxy, pozwoliło przywrócić pełną funkcjonalność strony bez obniżania poziomu bezpieczeństwa. Wniosek jest jednoznaczny: przy korzystaniu z zewnętrznych usług Google oraz systemów reklamowych, polityka CSP musi uwzględniać wszystkie wykorzystywane domeny, aby nie blokować kluczowych elementów strony i zachować jej poprawne działanie.