X-Frame-Options
Ochrona przed osadzeniem strony w ramce.
X-Frame-Options w 30 sekund
- 01 · Zrozum: X-Frame-Options mówi przeglądarce, czy Twoją stronę wolno osadzić w ramce (iframe) na innej witrynie.
- 02 · Sprawdź: Sprawdź nagłówek X-Frame-Options w odpowiedzi serwera; docelowo uzupełnij go regułą frame-ancestors w CSP.
- 03 · Unikaj: Brak nagłówka na stronach logowania i płatności
Co to jest X-Frame-Options?
X-Frame-Options mówi przeglądarce, czy Twoją stronę wolno osadzić w ramce (iframe) na innej witrynie. Wartość DENY lub SAMEORIGIN blokuje obce osadzenie.
Chroni to przed clickjackingiem — atakiem, w którym napastnik nakłada przezroczystą ramkę z Twoją stroną na swoją i podstępnie zbiera kliknięcia (np. „polub”, „zapłać”). Nowocześniejszym odpowiednikiem jest dyrektywa frame-ancestors w CSP.
Dlaczego to ważne dla SEO
Bez tej ochrony Twój panel logowania czy przyciski akcji mogą zostać użyte w cudzym, oszukańczym interfejsie. To prosta, jednowierszowa ochrona o dużym znaczeniu.
Jak to sprawdzić
Sprawdź nagłówek X-Frame-Options w odpowiedzi serwera; docelowo uzupełnij go regułą frame-ancestors w CSP. SEOMaster wykrywa oba.
Częste błędy
- Brak nagłówka na stronach logowania i płatności
- Przestarzała wartość ALLOW-FROM zamiast frame-ancestors
- DENY mimo realnej potrzeby osadzania we własnej domenie
Przykład
X-Frame-Options: SAMEORIGIN (w CSP) frame-ancestors 'self'
Najczęstsze pytania
X-Frame-Options czy frame-ancestors?
Nowsza i bardziej elastyczna jest dyrektywa frame-ancestors w CSP. X-Frame-Options warto zostawić jako zapas dla starszych przeglądarek, bo oba nagłówki mogą współistnieć.
Przed czym to chroni?
Przed clickjackingiem: atakujący osadza Twoją stronę w niewidocznej ramce na swojej i nakłania użytkownika do kliknięcia w coś innego, niż mu się wydaje.
Czy to zablokuje moje własne osadzenia?
Tak, jeśli ustawisz DENY. Gdy sam osadzasz swoją stronę gdzie indziej, użyj frame-ancestors z listą dozwolonych domen.
Poradniki na ten temat
- 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.