Nagłówek odpowiedzi X-Frame-Options

Nagłówek odpowiedzi HTTP o nazwie X-Frame-Options służy do wskazania przeglądarce czy powinna być w stanie wyświetlać zawartość strony w ramce (elementy <frame> i <iframe>). Witryny mogą korzystać z tego mechanizmu do ochrony przed atakami typu clickjacking, zyskując pewność, że ich zawartość nie będzie umieszczona wewnątrz innych witryn.

Użycie X-Frame-Options

Nagłówek X-Frame-Options może przyjmować 3 możliwe wartości:

DENY
Strona nie może być wyświetlana w ramce bez względu na adres witryny, która próbuje tego dokonać.
SAMEORIGIN
Strona może być wyświetlana w ramce pod warunkiem, że pochodzi z tego samego miejsca co strona zawierająca ramkę.
ALLOW-FROM uri
Strona może być wyświetlana w ramce wyłącznie wtedy, gdy wczytująca ją witryna załadowana została z podanego miejsca.

Innymi słowy: jeśli użyjesz DENY, to nie tylko zablokowana zostanie możliwość ładowania strony w ramce umieszczonej w innych witrynach, ale również w ramce, która znajduje się w tej samej witrynie. Z drugiej strony, możesz posłużyć się wartością SAMEORIGIN, która pozwoli na ładowanie strony w ramce, dopóki witryna z ramką jest tą samą, która serwuje zawartość strony włączanej w ramce.

Konfigurowanie serwera Apache

Żeby skonfigurować serwer Apache w celu wysyłania nagłówka X-Frame-Options dla wszystkich stron, dodaj poniższą klauzulę do jego konfiguracji:

Header always append X-Frame-Options SAMEORIGIN

Konfigurowanie serwera nginx

Żeby skonfigurować serwer nginx w celu wysyłania nagłówka X-Frame-Options, dodaj poniższą klauzulę konfiguracyjną do sekcji http, server lub location:

add_header X-Frame-Options SAMEORIGIN;

Rezultaty

Gdy dokonywana jest próba wczytania zawartości do ramki, lecz pojawia się odmowa wykonania działania spowodowana ustawieniem wartości nagłówka X-Frame-Options, obecna wersja przeglądarki Firefox wyświetla w ramce zawartość pochodzącą z lokalizacji specjalnej about:blank. W przyszłych wydaniach planuje się dodanie opcji wyświetlania odpowiedniego komunikatu w miejsce pustej strony.

Kompatybilność przeglądarek

Cecha Chrome Firefox (Gecko) Internet Explorer Opera Safari

Obsługa
podstawowa

4.1.249.1042 3.6.9 (1.9.2.9) 8.0 10.5 4.0
Obsługa
ALLOW-FROM
Not supported 18.0 (18.0) błąd 690168 8.0? ? Not supported WebKit błąd 94836
Cecha Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Obsługa
podstawowa
? ? ? ? ? ?

Zobacz także

 

Autorzy i etykiety dokumentu

Etykiety: 
 Autorzy tej strony: siefca
 Ostatnia aktualizacja: siefca,