Защита от загрузки в фрейме

Dreammaker
На сайте с 20.04.2006
Offline
569
1040

Народные умельцы выводят страницы сайта в iframe.

Вроде бы задача несложная защититься, только вот и они не лыком шиты:


<script type="text/javascript">
top.frames=null;
self = null;
parent = null;
top = null;
self.ifra.parent = null;
</script>

И все поползновения определить является ли это окно фреймом через self , parent, top разрушаются на месте. Может есть какие-то идеи как ещё можно защититься? :)

A5
На сайте с 06.08.2006
Offline
46
#1

Dreammaker, по-моему лучше сделать так.

Создаем архив всех файлов (etalon.tar.gz) в который можно вставить frame (html, php, shtml).

Считаем их контрольную сумму (md5sum, например).

Пишем задание для Cron проверять контрольную сумму всех файлов каждые 5 минут.

Если где-то изменилась контрольная сумма, то распаковать архив etalon.tar.gz с заменой всех файлов. Отсылаем сообщение администратору.

Dreammaker
На сайте с 20.04.2006
Offline
569
#2

Не тут не совсем та проблема. :)

Не вирусный ифрейм как обычно. А просто на каком-то левом сайте страницы нашего сайта показываются в ифрейме - то есть воруется контент.

A5
На сайте с 06.08.2006
Offline
46
#3

Dreammaker, можешь паказать, кто ворует?

Dreammaker
На сайте с 20.04.2006
Offline
569
#4

Можно глянуть в личке.

В общем, как-то в ступоре я, не понятно, что делать.

<script>if (window.parent.frames) {alert('test')}</script>

Такое срабатывает и на родном сайте, и на фейковом..

Dreammaker добавил 15.05.2009 в 00:23

Самый простое условие:

if (window != top)

по совету Art569 сработало :) Редиректить на свой сайт не получится из-за того top не доступен, но что нить придумаем.

p.s. поблагодарить в репу не получиться... :(

M
На сайте с 17.04.2008
Offline
88
MBo
#5

возможное решение, в IE 6 и FF 3 страница редиректится из фрейма на свой урл, в Опере не работает


<script language="javascript" type="text/javascript">
function gH() { top.location="http://host.com/"; }
window.onerror = gH; if (top.location.href != window.location.href) {top.location = "http://host.com/";}
</script>

проверено при таком коде:

<script language="javascript" type="text/javascript">

top.frames=null;self = null;parent = null;top = null;self.ifra.parent = null;

</script>

<iframe src="http://host.com/" width="900" height="600"></iframe>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий