получение данных из iframe

Discussion in 'PHP' started by DIAgen, 2 Jun 2007.

  1. -=Ru=-

    -=Ru=- New Member

    Joined:
    3 Mar 2008
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    ... и будет Вам ЩАСТЯ :)
     
  2. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Code:
    <iframe id="frame" src="file.html"></iframe>
    <button onclick="Show();">П О К А З А Т Ь</button>
    
    <script type="text/javascript">
    function Show()
    {
    		var frame = document.getElementById("frame");
            alert(frame.contentWindow.document.body.innerHTML);
    }
    </script>
    
     
    1 person likes this.
  3. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    -=Ru=-, .hta = IE-only.

    bul.666, домен другой.
     
  4. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    ммм... 1 - зачем юзать ифрейм? Можно див сделать, загрузить код из яндекса (через тот же file_get_contents), и распоряжаться этими данными как угодно...
    А если с ифреймом - то вначале юзаешь <iframe src="ya.ru" />, а потом пишешь $txt = file_get_contents; и берёшь нужную инфу из $txt, в сумме открыв яндекс 2 раза...
     
  5. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Задание закл. получить данные из ифрейма, др. способы думаю ТС знаеи
     
  6. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Тока сплоитом=)
     
  7. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    а возможно получить с помощь аджакса или джава скрипта не исходник а скажем document.cooke )))))?

    слышал в привате античата есть скрипт перехвата куков без xss
     
    #27 ZET36, 4 Mar 2008
    Last edited: 4 Mar 2008
  8. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Из другого сайта нет. И получить исходник с другого сайта тоже нельзя. (с помощью JavaScript).
    А так... ))
    Code:
    <script>
    document.write(document.cookie);
    </script>
     
  9. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Да чё вы всё говорите! Вы хотите, чтобы в один прекрасный момент вы зашли на сайт, а там с сотни ифрймов одновременно спёрли все куки со всех известных сайтов от яндекса до paypal'а?!!
     
  10. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    исходник можно но только под осликом
    Code:
    <SCRIPT>
    
    var x = new ActiveXObject("Microsoft.XMLHTTP");
    x.open("rnTRACE","http://yandex.ru",false);
    x.setRequestHeader("Max-Forwards","0");
    x.send();
    
    alert(x.responseText);
    
    
    </SCRIPT>
    
    
    так как в опере и лисе отключено использование актив икса


    к стати с помощью этой фичи можно организовывать неплохие автоформы .ну думаю кто в теме тот понял о чом я
     
    #30 ZET36, 5 Mar 2008
    Last edited: 5 Mar 2008
  11. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    В Опере никогда не было ActiveX
     
  12. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    конешно я ступил с вопросом он конешно не для паблика . но думал что ктонибуть хотя бы немножко намекнёт как это сделать

    а DIAgen'у посоветую всётаки использывать сокет запрсы в перле или пхп для получения ответа со страницы

    пхп
    Code:
    <?php   
    $hostname = "host.com";  
      $path = "/путь/страница.html"; // Аккуратнее с именами и путями  
      $line = "";  
      // Устанавливаем соединение, имя которого  
      // передано в параметре $hostname  
      $fp = fsockopen($hostname, 80, $errno, $errstr, 30);   
      // Проверяем успешность установки соединения  
      if (!$fp) echo "$errstr ($errno)<br />\n";   
      else  
      {   
        // Данные HTTP-запроса  
        $data = "\r\n\r\n";  
        // Заголовок HTTP-запроса  
        $headers = "POST $path HTTP/1.1\r\n";   
        $headers .= "Host: $hostname\r\n";   
        $headers .= "Content-type: application/x-www-form-urlencoded\r\n";  
        $headers .= "Content-Length: ".strlen($data)."\r\n\r\n";  
        // Отправляем HTTP-запрос серверу  
        fwrite($fp, $headers.$data);   
        // Получаем ответ  
        while (!feof($fp))  
        {   
          $line .= fgets($fp, 1024);   
        }   
        fclose($fp);   
      }   
      echo $line;  
    ?>  
    
    перл
    Code:
    use Socket;
    
    $host="www.host.com";
    $port="80";
    
    socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
    
    $iaddr = inet_aton($host);
    $paddr = sockaddr_in($port, $iaddr);
    
    connect(SOCK, $paddr);
    send (SOCK, "GET /путь/ HTTP/1.0\n\n", 0);
    
    @data=<SOCK>;
    close(SOCK);
    
    print @data;
    
    
    
    $F = <STDIN>;
    
     
    #32 ZET36, 5 Mar 2008
    Last edited: 5 Mar 2008
  13. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    ZET36,
    /showpost.php?p=378104&postcount=3
     
  14. DCRM

    DCRM Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    67
    Likes Received:
    27
    Reputations:
    -1
    На днях сам столкнулся с этой фишкой...
    Решил "автокликер" сделать) но тут началось...
    Yandex формирует свою рекламу аля кучей скриптов...
    Начну пожалуй анализ:
    ***** - Код счётчика
    66666 - Случайное число
    Для сайта Yandex выдаёт такой код:
    Code:
    <script type="text/javascript"><!--
    
    var yandex_ad_fontSize = 0.95;
    var yandex_direct_fontColor = '000000'; 
    var yandex_direct_BorderColor = 'FFFFFF'; 
    var yandex_direct_BgColor = 'FFFFFF'; 
    var yandex_direct_headerBgColor = 'FFFFFF'; 
    var yandex_direct_titleColor = '8F4808'; 
    var yandex_direct_siteurlColor = '999999'; 
    var yandex_direct_linkColor = '999999';
    
    function yandex_direct_print(){ }
    
    var yandex_r = Math.round(Math.random() * 100000);
    document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/code/[COLOR=Red]*****[/COLOR]?rnd=' + yandex_r + '&direct-style=1&direct-limit=3&market-limit=0"></'+'sc'+'ript>');
    //--></script>
    
    <script type="text/javascript">yandex_direct_print()</script>
    Далее идёт собственно загрузка скрипта №1 который определяет уйму параметров оформления:
    (http://an.yandex.ru/code/*****?rnd=66666&direct-style=1&direct-limit=3&market-limit=0)

    Бла бла бла, и мы получаем линк на ещё один скрипт(какой неугомонный этот YanDEX)
    http://an.yandex.ru/resource/context.js?rnd=66666

    После получаем ещё(тут генрится сама реклама.. оформление... и ещё что то кажись, что бы им пусто было! наворотили то...):
    http://an.yandex.ru/resource/context_static_1x37c.js

    И...
    Code:
    http://an.yandex.ru/code/"+E+"?rnd="+y5_iR+F+D+A+"&charset="+B+"&block-origin=2&page-ref="+y5_escape(document.referrer,512)+"&target-ref="+y5_escape(document.location.href,512))
    Вот тут уже интереснее!
    C помощью не хитрых манипуляций это превращается в...
    http://an.yandex.ru/code/*****?rnd=66666&stat-id=1&direct-limit=3&market-limit=0&charset=windows-1251&block-origin=2&page-ref=http%3A//HOST.X
    &target-ref=http%3A//HOST.X

    !ВНИМАНИЕ! Вы должны быть РЕАЛЬНЫМ партнёром Yandex'sa что бы получить банер... теперь у нас есть "Чистые сгенерированные ссылки" что собственно и нужно) Осталось выдернуть ссылки оттуда... и... заифреймить их ;)
    Но есть один момент... надо провернуть запрос на этот скрипт с помощью AJAX но функция... XMLHttpRequest(); с нынешней политикой безопасности не разрешает запросы со сторонних сайтов... JsHttpRequest() новый класс подгрузки данных... может с помощью него сделать...

    Как вариант парсить уже загруженный скрипт... что собственно и хотелось... хм...
    И того... если всё это провернуть, то мы получаем автонакрутчик в невидимом ифрейме с полуофициальными кликами :) И как добропорядочные граждане мы сделаем рандомный выбор из 5ти случаев(если посещаемовть сайтов большая)... а то если каждое посещение=заргузке сразу запалят :mad:

    P.S. А может ты всётаки не погоду хотел грузить :p
     
    #34 DCRM, 5 Mar 2008
    Last edited: 5 Mar 2008
  15. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    БЕЗПЛАТНЫЙ ХОСТИНГ С ПОДДЕРЖКОЙ СОКЕТОВ WWW.6te.net кто незнал

    походу мало кто знал
    жду плюсы :D ))
     
    #35 ZET36, 5 Mar 2008
    Last edited: 5 Mar 2008