Как защитить сайт от 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 - ссылки с вашего сайта.

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

  1. Alecfyz:

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

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

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

Читать RSS в Google

Добавить в Google Reader

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

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

Rambler's Top100