Spec-Zone.ru › HTTP

Заголовки: X-Frame-Options

Заголовок X-Frame-Options

Примечание: Более широкие возможности, чем у этого заголовка, предоставляет директива frame-ancestors в заголовке Content-Security-Policy.

HTTP-заголовок ответа X-Frame-Options указывает, следует ли браузеру разрешить отображение документа в элементе <frame>, <iframe>, <embed> или <object>. Сайты могут использовать этот заголовок, чтобы предотвращать атаки типа кликджекинг и некоторые межсайтовые утечки, не позволяя встраивать свой контент на другие сайты.

Если этот заголовок не отправляется, а на сайте не реализованы другие механизмы ограничения встраивания (например, директива CSP frame-ancestors), браузер разрешит другим сайтам встраивать этот документ.

Тип заголовка Заголовок ответа

Синтаксис

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN

Директивы

DENY

Документ нельзя загрузить ни в один фрейм, независимо от источника (встраивание с того же и с другого источника запрещено).

SAMEORIGIN

Документ можно встраивать, только если все родительские фреймы имеют тот же источник, что и сама страница.

ALLOW-FROM origin

Эта директива устарела. Современные браузеры, получившие заголовки ответа с этой директивой, полностью игнорируют заголовок. HTTP-заголовок Content-Security-Policy содержит директиву frame-ancestors, которую следует использовать вместо неё.

Примеры

Предупреждение: Указание X-Frame-Options внутри элемента <meta> (например, <meta http-equiv="X-Frame-Options" content="deny">) не даёт эффекта. X-Frame-Options применяется только через HTTP-заголовки, как показано в примерах ниже.

Настройка Apache

Чтобы настроить Apache на отправку заголовка X-Frame-Options для всех страниц, добавьте следующую директиву в конфигурацию сайта:

Header always set X-Frame-Options "SAMEORIGIN"

Чтобы настроить Apache на установку значения DENY для X-Frame-Options, добавьте следующую директиву в конфигурацию сайта:

Header set X-Frame-Options "DENY"

Настройка Nginx

Чтобы настроить Nginx на отправку заголовка X-Frame-Options, добавьте следующую директиву в конфигурацию http, server или location:

add_header X-Frame-Options SAMEORIGIN always;

Задать для заголовка X-Frame-Options значение DENY можно с помощью следующей директивы:

add_header X-Frame-Options DENY always;

Настройка IIS

Чтобы настроить IIS на отправку заголовка X-Frame-Options, добавьте следующую директиву в файл Web.config вашего сайта:

<system.webServer>
  …
  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>
  …
</system.webServer>

Дополнительные сведения см. в статье службы поддержки Microsoft о настройке этого параметра с помощью интерфейса IIS Manager.

Настройка HAProxy

Чтобы настроить HAProxy на отправку заголовка X-Frame-Options, добавьте следующую директиву в конфигурацию front-end, listen или backend:

rspadd X-Frame-Options:\ SAMEORIGIN

В более новых версиях можно использовать альтернативный вариант:

http-response set-header X-Frame-Options SAMEORIGIN

Настройка Express

Чтобы задать значение SAMEORIGIN для X-Frame-Options с помощью Helmet, добавьте следующий код в конфигурацию сервера:

import helmet from "helmet";

const app = express();
app.use(
  helmet({
    xFrameOptions: { action: "sameorigin" },
  }),
);

Спецификации

Спецификация
HTML>
# the-x-frame-options-header>

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
DENY 4 12 4 10.5 4 18 4 14 3.2 1.0 4.4 3.2
SAMEORIGIN
4Начиная с Chrome 61, это правило применяется ко всем предкам фрейма.
12
4Начиная с Firefox 59, это правило применяется ко всем предкам фрейма.
15Начиная с Opera 48, это правило применяется ко всем предкам фрейма.
4
18Начиная с Chrome для Android 61, это правило применяется ко всем предкам фрейма.
4Начиная с Firefox для Android 59, это правило применяется ко всем предкам фрейма.
14Начиная с Opera для Android 45, это правило применяется ко всем предкам фрейма.
3.2
1.0Начиная с Samsung Internet 8.0, это правило применяется ко всем предкам фрейма.
4.4Начиная с WebView для Android 61, это правило применяется ко всем предкам фрейма.
3.2
X-Frame-Options 4 12 4 10.5 4 18 4 14 3.2 1.0 4.4 3.2

См. также

  • Директива Content-Security-Policy frame-ancestors
  • Защита от кликджекинга — IEBlog
  • Борьба с кликджекингом с помощью X-Frame-Options — IEInternals

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API