Content Security Policy (CSP)
Reguły, skąd strona może ładować zasoby.
Content Security Policy w 30 sekund
- 01 · Zrozum: Content Security Policy to nagłówek HTTP, który mówi przeglądarce, z jakich źródeł wolno ładować skrypty, style, obrazy czy czcionki.
- 02 · Sprawdź: Sprawdź, czy odpowiedź serwera zawiera nagłówek Content-Security-Policy (narzędzia deweloperskie → Network → nagłówki).
- 03 · Unikaj: Użycie 'unsafe-inline' dla skryptów (otwiera furtkę na XSS)
Co to jest Content Security Policy?
Content Security Policy to nagłówek HTTP, który mówi przeglądarce, z jakich źródeł wolno ładować skrypty, style, obrazy czy czcionki. Wszystko spoza tej listy zostaje zablokowane.
Dzięki temu nawet jeśli ktoś zdoła wstrzyknąć na stronę obcy kod (atak XSS), przeglądarka go nie uruchomi, bo źródło nie jest zaufane. CSP buduje się stopniowo — od trybu raportowania po pełne egzekwowanie.
Dlaczego to ważne dla SEO
XSS to jedna z najczęstszych podatności webu. Dobra CSP mocno ogranicza skutki takiego ataku i jest sygnałem dojrzałości technicznej witryny.
Jak to sprawdzić
Sprawdź, czy odpowiedź serwera zawiera nagłówek Content-Security-Policy (narzędzia deweloperskie → Network → nagłówki). Zacznij od Content-Security-Policy-Report-Only, żeby niczego nie zepsuć, i obserwuj raporty.
Częste błędy
- Użycie 'unsafe-inline' dla skryptów (otwiera furtkę na XSS)
- Zbyt szeroka reguła default-src *
- Wdrożenie od razu w trybie egzekwowania bez testów → blokada własnych skryptów
Przykład
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.zaufany.pl; object-src 'none'
Najczęstsze pytania
Od czego zacząć wdrażanie CSP?
Od trybu raportowania. Nagłówek Content-Security-Policy-Report-Only pokazuje, co zostałoby zablokowane, nie psując przy tym strony. Dopiero po wyczyszczeniu zgłoszeń przełącza się go w tryb egzekwowania.
Czy CSP spowalnia stronę?
Nie. To jeden nagłówek tekstowy, który przeglądarka analizuje raz. Koszt jest pomijalny wobec ochrony przed wstrzyknięciem obcego skryptu.
Dlaczego unsafe-inline psuje sens CSP?
Bo pozwala uruchomić dowolny skrypt osadzony w kodzie strony, a przed tym właśnie CSP ma chronić. Zamiast tego stosuje się jednorazowe wartości nonce albo skróty.
Poradniki na ten temat
- Czego najczęściej brakuje na stronach? Dane z 400 audytów — Podstawy są zwykle obecne: 97,8% badanych stron działa po HTTPS, a 97,4% ma tytuł. Największe braki zaczynają się warstwę głębiej — w politykach bezpieczeństwa, cache, dostępności obrazów i weryfikowalnych danych firmy.
- Nagłówki bezpieczeństwa — wdrożenie krok po kroku bez psucia strony — Sześć nagłówków, które zamykają najczęstsze drogi ataku. Kolejność wdrożenia ma znaczenie: dwa ostatnie potrafią popsuć stronę, jeśli wprowadzisz je bez okresu obserwacji.