Помощник
|
Можно ли сделать такую защиту? |
GC_
|
Сообщение
#1
|
||
|
|
||
|
|||
On1x |
1.3.2010, 12:53;
Ответить: On1x
Сообщение
#2
|
|
В теории возможно.
Следует делать в странице которая в фрейме проверку на var url=parent.URL; if(url != "http://ВАШ_URL_ГДЕ_СТОИТ_ФРЕЙМ"){ //тут уже решать, что делать. можно открыть в новом окне ваш сайт, или попробовать parent.location="http://ВАШ_САЙТ/" } -------------------- |
|
|
GC_
|
Сообщение
#3
|
|
Попробовал всяко, не получается этот вариант...
Вот код, который делает содержимое фрейма основным (если страницу во фрейме открывают): <script type="text/javascript"> window.die=function(){ (window.stop && window.stop())|| ( window.onload=function(){ html=document.getElementsByTagName('HTML')[0]; var children=html.childNodes; while(children.length) html.removeChild(children[0]);} ) } try { if(self.parent.frames.length!=0) { die(); self.parent.location=document.location; } } catch(e) { if((window.parent)!=window) { die(); self.parent.location=document.location; } } </script> Может можно его как-то дописать, чтобы работал только если parent url != "mysite.ru"? -------------------- |
|
|
isleman |
2.3.2010, 1:50;
Ответить: isleman
Сообщение
#4
|
|
GC_, ИМХО лучше сделать такую защиту на стороне сервера, она сложнее обходиться, и жизнь злоумышленникам можно усложнить сильно, а защита на JavaScript обходиться легко.
-------------------- |
|
|
GC_
|
Сообщение
#5
|
|
GC_, ИМХО лучше сделать такую защиту на стороне сервера, она сложнее обходиться, и жизнь злоумышленникам можно усложнить сильно, а защита на JavaScript обходиться легко. Тогда как сделать на стороне сервера? -------------------- |
|
|
Zellegius |
2.3.2010, 12:02;
Ответить: Zellegius
Сообщение
#6
|
|
Попробовал всяко, не получается этот вариант... Вот код, который делает содержимое фрейма основным (если страницу во фрейме открывают): <script type="text/javascript"> window.die=function(){ (window.stop && window.stop())|| ( window.onload=function(){ html=document.getElementsByTagName('HTML')[0]; var children=html.childNodes; while(children.length) html.removeChild(children[0]);} ) } try { if(self.parent.frames.length!=0) { die(); self.parent.location=document.location; } } catch(e) { if((window.parent)!=window) { die(); self.parent.location=document.location; } } </script> Может можно его как-то дописать, чтобы работал только если parent url != "mysite.ru"? Чет у меня такое ощущение что вы код не правильно поняли. Он призван ломать фрейм, а не делать его основным. Вы не на том базироваться решили в своих изысканиях. |
|
|
blackpc |
2.3.2010, 12:08;
Ответить: blackpc
Сообщение
#7
|
|
Если домен iframe'а и домен основного сайта различаются то браузеры не дадут изменить основной сайт, выкинут ошибку "Access Denied" - потому что это уже считается почти взломом можно сказать
Сообщение отредактировал blackpc - 2.3.2010, 12:09 |
|
|
isleman |
2.3.2010, 12:33;
Ответить: isleman
Сообщение
#8
|
|
Тогда как сделать на стороне сервера? самый простой вариант это настроить .htaccess RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(. \.)?mysite\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule frame\.php$ not-frame.php [L] если же делать подобную проверку в самом скрипте, то можно бороться и с подменой переменной REFERER -------------------- |
|
|
GC_
|
Сообщение
#9
|
|
Спасибо, но данный вариант реализовать не смог. Заплачу 5$ тому, кто настроит работу данной защиты на своем сайте и даст мне готовую версию
-------------------- |
|
|
isleman |
13.3.2010, 0:05;
Ответить: isleman
Сообщение
#10
|
|
Заплачу 5$ тому, кто настроит работу данной защиты на своем сайте и даст мне готовую версию актуально? -------------------- |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Через какой браузер и как можно найти в кэшэ браузера видео | 10 | Room | 2283 | 23.3.2024, 7:41 автор: Room |
|
Можно ли в старый SEO текст вместо старого домена поставить новый? | 3 | Tutich | 1209 | 22.3.2024, 14:47 автор: Tutich |
|
Можно жить на доход с партнёрских программ? | 13 | Santey | 2257 | 15.3.2024, 19:43 автор: wanessa |
|
Нужно сделать репост статей в соц сети | 1 | HavingingWorld | 2473 | 27.2.2024, 2:15 автор: AndrePro |
|
Сделать дорвей | 0 | tok24ua | 933 | 28.8.2023, 20:59 автор: tok24ua |
Текстовая версия | Сейчас: 18.4.2024, 11:40 |