Logo David Burdelak
Słownik · Cyberbezpieczeństwo

Co to jest X-Frame-Options?

Ostatnia aktualizacja:

X-Frame-Options to nagłówek odpowiedzi HTTP określający, czy przeglądarka może wyświetlić stronę wewnątrz elementów <frame>, <iframe> lub <object>. Chroni przed clickjackingiem, czyli atakiem polegającym na ukryciu cudzej strony pod przezroczystą warstwą.

Wartości nagłówka

Wartość DENY zabrania osadzania całkowicie, a SAMEORIGIN pozwala tylko stronom z tej samej domeny. Dawna wartość ALLOW-FROM nie jest już obsługiwana przez nowoczesne przeglądarki.

X-Frame-Options a CSP

Nowocześniejszym rozwiązaniem jest dyrektywa frame-ancestors w nagłówku Content-Security-Policy, która pozwala wskazać dokładne źródła uprawnione do osadzania. Jeśli oba mechanizmy są obecne, przeglądarki stosują CSP, a X-Frame-Options zostaje jako zabezpieczenie zapasowe.

Konfiguracja

W Apache nagłówek dodaje się dyrektywą Header always set X-Frame-Options "SAMEORIGIN", a w Nginx add_header. Poprawność sprawdzisz w narzędziach deweloperskich lub w serwisie testującym nagłówki.

Kiedy możesz pozwolić na osadzanie?

Gdy świadomie udostępniasz widżet lub formularz do osadzenia na innych stronach, np. wideo, mapę lub system rezerwacji. Wtedy zamiast X-Frame-Options użyj dyrektywy frame-ancestors z listą zaufanych domen. Dla paneli logowania i administracji zostaw całkowity zakaz osadzania.

Na serwerach Apache taką ochronę włącza się m.in. przez reguły w pliku .htaccess.

Zobacz w praktyce

Powiązane pojęcia

Wszystkie hasła z kategorii Cyberbezpieczeństwo