Предотвратить кражу iframe - PullRequest
10 голосов
/ 02 апреля 2011

Я думаю, что кто-то крадет мой контент с помощью iframe.Мой веб-сайт - это форум, и пользователь только что сообщил мне об этом.

Как найти программный сайт (php, JavaScript, jQuery, HTML), если это делают другие?Разрешено ли это в Интернете для них, и могу ли я принять меры?

Ответы [ 5 ]

25 голосов
/ 02 апреля 2011

С помощью JavaScript вы можете сделать

if(window.top==window){
 //not inside iframe
} else {
    if(parent.parent.someFunction){
       parent.parent.someFunction();
    } else {
       alert("framing is not allowed")
    }
}

OR

if (window.top !== window.self) window.top.location.replace(window.self.location.href);

Некоторые современные браузеры также поддерживают заголовок X-FRAME-OPTIONS, который может иметь два значения:

* DENY – prevents the page from being rendered if it is contained in a frame
* SAMEORIGIN – same as above, unless the page belongs to the same domain as the top-level frameset holder.

Браузеры, которые поддерживают заголовок:

* IE8 and IE9
* Opera 10.50
* Safari 4
* Chrome 4.1.249.1042
* Firefox with NoScript
4 голосов
/ 02 апреля 2011

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

Посмотрите на framkillers: http://en.wikipedia.org/wiki/Framekiller

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

3 голосов
/ 02 апреля 2011

Используйте тот же метод, который я предложил здесь: Как ограничить показ iframe с внешнего сайта только для определенных доменов

В ореховой оболочке вы добавляете PHP-скрипт на каждую страницу (в вашем случае он, вероятно, будет только один, предполагая, что это шаблон), этот скрипт ограничивает просмотр одним (или несколькими) доменами рефферирования. *

Этот метод лучше, чем метод javascript, потому что пользователи могут отключить его.

1 голос
/ 02 апреля 2011

HTTP-доступ может быть в некоторой степени заблокирован с помощью фильтра HTTP Referer .Доступ «по хост-серверу» также можно отслеживать, просматривая Referer в журналах HTTP.Это не идеальное решение, но стандартный доступ к браузеру поможет вам в этом.(Установки «Нет горячей ссылки» иногда работают следующим образом.)

В случае судебного иска обращайтесь за советом к юристу :-) Однако, мое первое желание - спросить другогоВладельцы сайта остановились.Они могут быть просто хорошими.

0 голосов
/ 28 июля 2014

Вы можете использовать этот код JS в верхней части вашего сайта (заголовок страницы)

if (window.top !== window.self) window.top.location.replace(window.self.location.href);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...