Довідник термінів / X-Frame-Options
X-Frame-Options
X-Frame-Options - це HTTP-заголовок, який каже браузеру, чи можна показувати вашу сторінку всередині <iframe> на іншому сайті. Він захищає від clickjacking - коли зловмисник вбудовує ваш сайт у прозорий фрейм і обманом змушує користувача клікати по невидимих кнопках.
Перевірте свій сайт
Заголовок має два робочих значення. DENY повністю забороняє показувати сторінку у фреймі будь-де. SAMEORIGIN дозволяє фрейм тільки на сторінках того самого домену - зручно, якщо ви самі вбудовуєте свої сторінки.
Без цього захисту атакуючий може завантажити ваш сайт у невидимий iframe поверх своєї сторінки-приманки. Користувач думає, що натискає «Отримати приз», а насправді клікає по кнопці на вашому сайті, наприклад підтверджує платіж чи змінює налаштування.
X-Frame-Options - старий і простий механізм, який досі підтримують усі браузери. У сучасних проєктах його часто дублюють директивою frame-ancestors у Content-Security-Policy, яка гнучкіша і дозволяє задати список конкретних доменів.
Приклад
X-Frame-Options: SAMEORIGIN
Часті помилки
- Використовують застаріле значення ALLOW-FROM. Більшість браузерів його ігнорують; для списку доменів потрібна директива frame-ancestors у CSP.
- Ставлять DENY і дивуються, чому власний віджет чи прев'ю сторінки перестав вантажитися у фреймі - тут потрібен SAMEORIGIN.
- Вважають, що заголовок захищає від XSS. Ні, він лише проти clickjacking, тобто вбудовування у фрейм.
- Задають заголовок у <meta>-тезі HTML. X-Frame-Options працює тільки як HTTP-заголовок відповіді, у meta він не діє.
Повʼязані терміни
Знайшли проблеми?
Повільний хостинг, проблеми з SSL або сайт часто лежить? Переїжджайте на TomisHost: швидкий хостинг з безкоштовним SSL, щоденними бекапами та допомогою з переносом.
Хостинг TomisHost