Как запретить показ своего сайта во фреймах (frame и iframe)

Представьте, что вы разработали сайт, который имеет хорошую посещаемость. Тогда злоумышленник захочет встроить ваш сайт или какую-то его страницу в свой фрейм, чтобы затем манипулировать данными, которые пользователи вводят якобы на вашем сайте. Этот вид атаки известен как кликджекинг (Clickjacking).

Упрощенный пример кода злоумышленника, использующего ваш сайт, приведен ниже.

    


  

Your browser doesn\’t support frames

Есть несколько способов борьбы с встраиванием вашего сайта в чужой фрейм. Основные из них:

1) Проверка на Javascript

В head вашего документа вы можете вставить следующий код:

<script type="text/javascript">// < ![CDATA[
    
  if (window.parent.frames.length > 0) {
    window.stop();
  }
// ]]></script>

Он позволит выявить, загружается ли ваш документ во фрейме, если да – то загрузка останавливается соответствующей командой.

2) Отправка серверного заголовка, запрещающего браузеру показывать содержимое во фрейме

Для сервера Apache вы можете вставить в файл .htaccess следующий код:

Header always append X-Frame-Options DENY

Он говорит браузеру, что ваше содержимое недоступно для показа во фрейме. Однако, только современные браузеры понимают такую команду, но это можно не считать недостатком.

DENY полностью запрещает показ содержимого сайта в любых фреймах. Если вы сами используете для каких-то целей фреймы на своем сайте, то вместо DENY можно указать SAMEORIGIN. Тогда браузер будет допускать содержимое во фреймах только с вашего же источника.

Подробнее о данном методе — https://developer.mozilla.org/en-US/docs/The_X-FRAME-OPTIONS_response_header

Kodiua.ru • 7 месяцев назад

спасибо за статью. только я бы предложил модеренизировать код js
if (window.parent.frames.length > 0) {    window.stop();    window.parent.location = «http://АДРЕСС ВАШИЕГО ОРИГИНАЛЬНОГО САЙТА»;  }

так будет происходить сбор трафика и злоумышленники будут лишь помогать продвижению

По материалам: Блога Самарко

Запись опубликована в рубрике *Web. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не спамер This plugin created by Alexei91