Запрет отображения сайта во фрейме (X-Frame и X-Content)
21 ноября 2016
X-Frame-Options
Злоумышленники могут использовать фреймы для накрутки лайков и для отправки спама. Например, на сайте-доноре поверх какой-нибудь кнопки создаётся прозрачный фрейм с вашим сайтом. Пользователь жмёт на кнопку, а действие совершается на вашем сайте. Если вы нигде не используете показ сайта во фрейме, то лучше отключить такую функцию. Отключение делается через header-параметр «X-Frame-Options».Значения X-Frame-Options:
DENY — полный запрет отображения во фрейме;
SAMEORIGIN — разрешено отображение только для страниц с того же сайта, что и страница фрейма;
ALLOW-FROM test-site.ru — разрешено отображение для домена test-site.ru (не работает для Safari и Firefox).
Подробнее https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/X-Frame-Options
Пример кода для файла .htaccess
<IfModule headers_module>
Header set X-Frame-Options SAMEORIGIN
</IfModule>
X-Content-Type-Options
Браузер отклоняет ответы с неправильными типами MIME, если сервер отправляет заголовок ответа «X-Content-Type-Options: nosniff».Это функция обеспечения безопасности, которая помогает предотвратить атаки с использованием подмены типов MIME. На момент написания статьи данный параметр не поддерживался браузерами Safari.
Подробнее https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/X-Content-Type-Options
Пример кода для файла .htaccess
<IfModule headers_module>
Header set X-Content-Type-Options nosniff
</IfModule>
Общий код для .htaccess (файл находится в корне сайта, а если его нету, то можно создать файл с таким именем и залить туда предложенный код)
<IfModule headers_module>
Header set X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options nosniff
</IfModule>
Общий код для PHP
header('X-Frame-Options:SAMEORIGIN');
header('X-Content-Type-Options:nosniff');