Как защитить сайт от iframe

Такие сайты, как "Google Image search" , "anonymizer.ru", "goodphptutorials.com" и "phpcamp.net" отображают контент сайтов в iframe.

frame window

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

Причины, по которым владельцы ресурсов не хотят мириться с обрамляющим iframe, у всех разные. Одна из них - параноидальная борьба с воровством контента. И это не лишено смысла. Да и просто некрасиво, когда над вашим сайтом болтается чья-то реклама, правда? Давайте избавимся от iframe.
Просто скопируйте приведенный ниже код и вставьте его как javascript-код сразу после открывающего тега BODY:

1
2
3
4
5
6
7
if (window.top !== window.self) {
document.write = "";
window.top.location = window.self.location;
setTimeout(function(){document.body.innerHTML='';},1);
window.self.onload=function(evt){
document.body.innerHTML='';};
}

Повторяю: после открывающего тега "<BODY>" вы ставите открывающий тег <script type="text/javascript"> следом вставляете код, представленный выше, и затем ставите закрывающий тег </script> .

Здесь используется нехитрая логика: в коде мы проверяем, является ли наш документ окном верхнего уровня ил нет. Если не является, то, скорее всего, документ показан в iframe. В этом случае мы указываем окну реальный URL нашего документа. А перед этим мы очищаем документ на тот случай, если злодей, который наставил нам iframe, запретил выполнение кода при загрузке.

---
На закуску видео с совершенно фантастической проекцией на реальном здании:

Вы можете оставить комментарий , или использовать trackback - ссылки с вашего сайта.

4 комментария to “Как защитить сайт от iframe”

  1. Обнаружил воровство контента с моего блога через iframe. Благодаря вашей публикации быстро пофиксил это. Спасибо огромное!

  2. Alecfyz:

    По идее, должно работать везде, ибо используются базовые объекты JS.
    А что, у вас где-то не работает?

  3. Полезная статья. Интересно код работает под всеми браузерами?

Оставить комментарий

Читать RSS в Google

Добавить в Google Reader

Читать RSS в Яндексе

Добавить в Яндекс-ленту

Rambler's Top100