Обойти защиту от открытия сайта в iframe

Тема в разделе "JavaScript", создана пользователем KillDead, 25 янв 2012.

Модераторы: ZiX
  1. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    Столкнулся с неприятной проблемой. Нужно открыть сайт в ифрейме, но только с помощью js- т.е куки пользователя должны работать на стороннем сайте. Но на нём стоит защита
    Код:
    if(top!=self){top.location.replace("http://домен")};
    Её можно обойти?
     
    Anton нравится это.
  2. bork75

    bork75 The Team

    Регистр.:
    21 июн 2008
    Сообщения:
    1.450
    Симпатии:
    717
    Можно
    В теории: сохраняешь html документ, распарсиваешь, выкидываешь не нужный кусок кода.

    Кидаю код с рабочего сайта, который обходит такую же защиту на yandex, сайт открывается очень быстро


    PHP:
    <html>
    <body bgcolor=#ffffff link=#0000cc text=#000000 alink=#dd0000 MARGINWIDTH=8 MARGINHEIGHT=0 topmargin=0 rightmargin=0 leftmargin=0>
    <?php
     
    $word 
    urlencode($_GET['text']);
    $page $_GET['p'];
    $rpt $_GET['rpt'];
    $route $_SERVER['REQUEST_URI'];
    //echo "http://search.yaca.yandex.ru$route";
    if ($rpt == "nnews") {$yandex "http://news.yandex.ru$route"; }
    elseif (
    $rpt == "rs2") {$yandex "http://search.yaca.yandex.ru$route"; }
    elseif (
    $rpt == "image") {$yandex "http://images.yandex.ru$route"; }
    elseif (
    $rpt == "simage") {$yandex "http://images.yandex.ru$route"; }
    elseif (
    $_GET['stype'] == "image") {$yandex "http://images.yandex.ru$route"; }
    else 
    $yandex "http://www.yandex.ru$route";
     
    $fp fopen ($yandex"r");
    while(!
    feof ($fp)) {
            
    $buf fgets($fp100000);
    $del "<body onload=\"if(self.parent.frames.length!=0)self.parent.location=document.location;else document.forms[0].text.focus()\">";
    $del2 "if(self.parent.frames.length!=0){self.parent.location=document.location}";
    $del3 "if (self.parent.frames.length != 0) {";
    $del4 "self.parent.location = document.location;";
    $del5 "}";
    $del6 "if( ";
    $del7 "self.parent.frames.length != 0 ) { ";
    $del8 "self.parent.location = document.location } ";
     
     
    $view str_replace($del," ",$buf);
    $view str_replace($del2," ",$view);
    $view str_replace($del3,"var tt = 2; if (tt!=2){",$view);
    $view str_replace($del4,"var bb = 3",$view);
    $view str_replace($del5,"}",$view);
    $view str_replace($del6,"var tt = 2; if( ",$view);
    $view str_replace($del7,"tt!=2) {",$view);
    $view str_replace($del8,"var bb = 3 }",$view);
    $view str_replace("http://css.yandex.net/css/js/","http://sait.com/",$view);
     
     
    //$view = str_replace('a href="/yandsearch','a target=_blanc href="http://yandex.ru/yandsearch',$view);
    $view str_replace("http://img.yandex.net/i/lego/1.1/common.js","http://sait.com/common.js",$view);
    $view str_replace('href="yandsearch/?','href="http://sait.com/yandsearch?',$view);
    $view str_replace('<a href="/redir','<a href="http://yandex.ru/redir',$view);
    $view str_replace('href="/advanced','target=_blanc href="http://yandex.ru/advanced',$view);
    $view str_replace('href="/cgi-bin/','target=_blanc href="http://yandex.ru/cgi-bin/',$view);
    $view str_replace('http://css.yandex.net/css/search/r8/_serp.js','http://sait.com/yandsearch/_serp.js',$view);
     
     
    $view iconv('UTF-8','CP1251',$view);
     
    $view str_replace('<label for="geosuggest"><input type="checkbox" value="-102" name="rstr" id="geosuggest">в&nbsp;Великобритании</label>',"",$view);
     
    echo 
    $view;
     
     
            }
            
    fclose($fp);
     
    ?>
    </body>
    </html>
    Код писал не я, так что по всем вопросам лучше к php программисту.
     
  3. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    Спасибо, но к сожалению серверные реализации не подходят так как нужно чтобы куки пользователя работали для стороннего сайта. Так что остаётся либо js либо какой нибуть html5....
     
  4. vlad_v

    vlad_v

    Регистр.:
    30 июн 2006
    Сообщения:
    444
    Симпатии:
    67
    никак не обойти. так защищается фейсбук.
    если бы можно было его фреймить - то много бы чудес происходило :)
     
    Anton и KillDead нравится это.