Nagłówki bezpieczeństwa HTTP: CSP i HSTS
W skrócie
Nagłówki bezpieczeństwa HTTP to instrukcje wysyłane przez serwer do przeglądarki, które ograniczają ryzyko ataków (XSS, clickjacking, podsłuch). Najważniejsze to HSTS (wymusza HTTPS), CSP (kontroluje, skąd ładują się zasoby) oraz X-Content-Type-Options i Referrer-Policy. Wdrożenie jest tanie i daje szybki efekt.
Nagłówki bezpieczeństwa to jeden z najtańszych sposobów na podniesienie bezpieczeństwa strony - kilka linii w konfiguracji serwera, a chronią przed całą klasą ataków. Mimo to wiele stron ich nie używa. Oto, co warto wdrożyć i dlaczego.
Najważniejsze nagłówki
| Nagłówek | Przed czym chroni | Wartość na start |
|---|---|---|
| Strict-Transport-Security (HSTS) | Wymusza HTTPS, blokuje downgrade | max-age=31536000; includeSubDomains |
| Content-Security-Policy (CSP) | XSS, wstrzykiwanie skryptów | default-src 'self' (i rozszerzaj) |
| X-Content-Type-Options | MIME sniffing | nosniff |
| Referrer-Policy | Wyciek danych w nagłówku Referer | strict-origin-when-cross-origin |
| X-Frame-Options / frame-ancestors | Clickjacking | DENY lub frame-ancestors 'none' |
CSP - najpotężniejszy i najtrudniejszy
Content-Security-Policy określa, z jakich źródeł przeglądarka może ładować skrypty, style, obrazy itd. To najskuteczniejsza obrona przed XSS, ale też najłatwiej tu coś zepsuć - zbyt restrykcyjna polityka potrafi zablokować własne zasoby. Zacznij od trybu raportowania:
Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-reportGdy zbierzesz raporty i dopniesz wyjątki (np. dla Google Analytics), przełącz na egzekwowanie bez sufiksu -Report-Only.
nginx, WordPress, Magento
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header X-Frame-Options "DENY" always;- WordPress: nagłówki w serwerze albo lekkiej wtyczce security - nie dokładaj ciężkiego „all-in-one”, które psuje Core Web Vitals. Checklista: audyt SEO WordPress.
- Magento: zwykle nginx przed Varnish. CSP musi uwzględniać CDN i checkout; testuj koszyk, nie tylko homepage. Zobacz też audyt wydajności Magento.
- Apache: odpowiedniki
Header always setw.htaccessdziałają, ale łatwiej utrzymać je w vhostcie.
Jak sprawdzić, co masz teraz
- 1Otwórz narzędzia deweloperskie przeglądarki (zakładka Network) i sprawdź nagłówki odpowiedzi.
- 2Użyj zewnętrznego skanera nagłówków bezpieczeństwa.
- 3Dodaj brakujące nagłówki w konfiguracji serwera (nginx/Apache) lub w warstwie aplikacji.
- 4Przetestuj stronę po wdrożeniu - zwłaszcza CSP - żeby nic się nie urwało.
Częste błędy przy CSP i HSTS
- Włączenie HSTS z
includeSubDomainszanim staging.twojadomena.pl ma certyfikat. default-src 'self'bez wyjątków na GTM, Stripe, Turnstile albo fonty - strona „pada” po wdrożeniu.- Ustawienie CSP tylko na homepage (Next/nginx location) - checkout i /blog muszą dostać te same nagłówki.
- Mieszanie
X-Frame-Optionsiframe-ancestorsz sprzecznymi wartościami.
Nagłówki nie podbijają pozycji bezpośrednio, ale HTTPS (wymuszone HSTS) jest sygnałem zaufania, a dziurawa strona wypada z indeksu po malware. Audyto sprawdza obecność i konfigurację nagłówków bezpieczeństwa w ramach audytu - razem z wydajnością i SEO. Zrób darmowy audyt i zobacz, czego brakuje.
Najczęstsze pytania
Czy nagłówki bezpieczeństwa wpływają na SEO?
Pośrednio. Google premiuje HTTPS (które wymusza HSTS), a bezpieczna, zaufana strona buduje wiarygodność. Same nagłówki nie są czynnikiem rankingowym, ale są elementem zdrowej higieny technicznej.
Od czego zacząć z CSP?
Od trybu Content-Security-Policy-Report-Only, który raportuje naruszenia bez blokowania. Po zebraniu danych i dodaniu wyjątków przełącz na pełne egzekwowanie.
Czy HSTS jest bezpieczne do włączenia od razu?
Tylko gdy cała domena i jej subdomeny działają poprawnie po HTTPS. HSTS wymusza HTTPS na czas określony w max-age, więc błąd może czasowo zablokować dostęp.
Sprawdź swoją stronę w 60 sekund
Wydajność, SEO, dostępność i bezpieczeństwo w jednym raporcie. Pierwszy audyt za darmo.
Zrób darmowy audyt