DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Imitacija iframe-a (http://www.devprotalk.com/showthread.php?t=10597)

AdriaMart 14. 12. 2011. 18:32

Imitacija iframe-a
 
Jeli ikako moguce da preko file_get_contents ili cUrl snimim celu stranu u folderu na serveru kao html, nakon toga sve ostale fajlove koji omogucavaju da strana funcuinise (slike,css, JS fajlovi) i da i njih snimim u folderu. Ovo mi je potrebno da bih ''imitirao iframe'' ali s tim da dobijem source code strane... ZnaCI DA bih dobio kao iframe sa source codom nakon toga samo uradim include u moju stranu i to je to.

Ovo prvo mi je jasno:

Kôd:

$url = 'http://www.nekiWebSajt.com/';
   
    $data = file_get_contents($url);

ali kako posle toga pronaci sve fajlove koji ucestvuju u kreiranju strane (verovatno se svi nalaze u head sekciji)
npr. /script/file.js /style/style.css ...

Probao sam na sve nacine da imitiram iframe ali svi su otpali i ostao je samo ovaj ako je to ikako moguce. Znam da ce biti sporo ali ne vidim drugi nacin!

Dzasa 14. 12. 2011. 19:21

U sustini mozes :), ali uvijek postoji ali :). Prvo sto mi pada na pamet, jeste da povuces source, povuces sve fajlove koji se pozivaju iz sourca i odradis update svog novog sourca sa novim putanjama fajlova.

Ima jos rjesenja ali eto taj mi je prvi pao na pamet :)

AdriaMart 14. 12. 2011. 19:28

Znam ja kako to uraditi idejno vise me interesuje tehnicka strana toga ... pronaci linkove, povuci sadrzaj, postaviti u folder, iz fodlera na stranu i na kraju ocistiti folder... :)


Takodje kolega me je posavetovao da ono sto meni treba je WebProxy ! Kako se to pravi, kako radi etc.

Dzasa 14. 12. 2011. 19:39

Baci primjer stranice da vidimo o kakvoj se stranici radi sto bi htio odraditi kradju :)

AdriaMart 14. 12. 2011. 19:43

Ne zelim nista da kradem vec da je prikazem odradim nekoliko funcija sa svojim jquery kodom i vise nikad ne posetim... nesto kao web crawlering ili ti web scraping pojednih elemenata:

<?php

$url = 'http://www.kupime.com/';

$data = file_get_contents($url);

$data1 = '<head><base href='.$url.' target="_blank" /></base>';

$data = str_replace ('<head>',$data1,$data);


echo $data;

?>


ili: pluspon.com/get1.php


a sve ovo mi je potrebno jedino da bih mogao da zatvorim ono prozorce na pocetku i da mogu da vidim sadrzaj


ili kako da to odradim preko iframe proxy-a. koju proxy scriptu preporucujete za ovo sto meni treba.

Dzasa 14. 12. 2011. 20:34

Samo da dobijes za ovu stranicu sto si trazio :), ovo je u 30 sek :D


PHP kôd:

<?php
error_reporting
(0);
$url 'http://www.kupime.com/';

$data file_get_contents($url);

$data1 '<head><base href='.$url.' target="_blank" /></base>';

$data str_replace ('<head>',$data1,$data);

$doc = new DOMDocument();
$doc->loadHTML($data);

$element $doc->getElementById('active_banner_wrap');
$element->parentNode->removeChild($element);

$element $doc->getElementById('home_banner_campaign_wrapper');
$element->parentNode->removeChild($element);

$html $doc->saveHTML();


echo 
$html;

?>


AdriaMart 14. 12. 2011. 20:39

Ma druze znam ja to ali kada promenim URL i ako strana poseduje to prozorce opet ce biti isto, zato mi treba neka proxy scripta pa kasnije stavim u iframe a odatle mogu da pristupam elementima...

Dzasa 14. 12. 2011. 20:44

E to je vec drugo :)

AdriaMart 14. 12. 2011. 20:45

Nadam se da ce to sa proxiem uspeti... trazim resenje za ovo 3 dana!

Dzasa 14. 12. 2011. 21:42

Imaces i tu problema :). Primjercic http://hidemyass.com/

AdriaMart 14. 12. 2011. 21:58

Sta sa tim sajtom. Mislis da opet necu mocu da zatvorim prozor koji se pojavljuje na pocetku. Znas li neku cross domain scriptu koja ce mi vrsiti posao za ovo sto mi treba. Znaci da prikazem ovu stranu na mojoj strani, da vidim source code i da mogu da zatvorim taj prozor jer pocinje da me nervira strasno... sta sve vise nisam pokusavao!

AdriaMart 14. 12. 2011. 22:03

LJUDI PLATICU ONOM KO MI URADI DA RADI ovo:

1. DA POVUCE NEKU WEB STRANU NA MOJU STRANU
2. DA MOGU DA VIDIM SOURCE CODE TE STRANE
3. DA MOGU DA ZATVORIM PROZOR - ZNACI DA MOZE DA RADI javascript

webarto 14. 12. 2011. 22:14

Evo samo ne tuši više.

PHP kôd:

<?php

error_reporting
(E_ALL E_NOTICE);

$url $_GET['url'];

if( ! empty(
$url))
{
    
$data file_get_contents($url);
    
    
$data str_replace('<head>''<head><base href="'.$url.'" /></base>'$data);
    
    
$data preg_replace('#<script(.*?)>(.*?)</script>#is'''$data);
    
$data preg_replace('#<iframe(.*?)></iframe>#is'''$data);
    
    
$data .= 
    
'
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
    $("div").each(function(i){
        if($(this).css("position") == "fixed") $(this).css("display", "none");
    });
    </script>
    '
    
;
    
    die(
$data); 
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="author" content="Webarto" />

    <title>AdriaMart</title>

<script src="http://code.jquery.com/jquery-latest.js"></script>

<style type="text/css">
<!--
iframe{width:100%;height:400px;}
-->
</style>

</head>
<body>

<iframe id="iframe" src="?url=http://kupime.com"></iframe>

</body>
</html>


srdjevic 14. 12. 2011. 22:15

Nazalost, mislim da bi ti najbolje bilo da platis nekoga da ti uradi to... na kraju ce ti najverovatnije vecina vremena otici na gluposti tipa sredjivanja specificnih url-ova koje pocetni kod ne hvata.

Inace, mogao si da iskoristis ovo Dzasino resenje sa DOM-om.... Ja kontao da si vec napravio spisak tagova i atributa koji imaju linkove, onda si mogao vrlo lako da iskoristis ovo njegovo, pa vrtis sve varijante/atribute....

znaci sastavis listu:
- A tag, HREF atribut
- SCRIPT (i IMG, itd) tag, SRC atribut...
i tako dalje... i onda samo vrtis kroz DOM kao sto bi u JSu:

$elements = $doc->getElementsByTagName('a');
foreach ( $elements as $element ) {
if ( !isset($element->href) ) continue;
$newhref = dajobradiovokeveti($element->href);
$element->href = $newhref;
}
// pa onda za iduci

function dajobradiovokeveti($url) {
// povuci fajl
// sacuvaj lokalno
return $lokalni_linak;
}


na kraju, sve to mozes da metnes u array, pa da imas samo jedan blok koji vrti....
recimo:

$tagovi = array(
'a' => array('href'),
'script' => array('src'),
);

i onda samo metnes jedan foreach okolo svega i on ti sve odradi u cugu.

ali mozda ipak da se vratim na pocetak.... bolje daj nekome da ti odradi to. :(

P.S. sve je ovo iz glave, samo pogadjam, pretpostavljam da ovaj DOM to moze da uradi....

srdjevic 14. 12. 2011. 22:17

ups, tek sad videh da si dosao do istog resenja -- outsourcing. :)

valjda sporo pisem, sta li je... :)

a eto i webarto ti je dao neko resenje, mozda se i izvuces za DŽ. ;)

Dzasa 14. 12. 2011. 22:22

Hehehe, ako ovako nastavi, iz ovoga sto smo svi napisali, dobio je za dz sve :D

webarto 14. 12. 2011. 22:37

http://stackoverflow.com/users/1096607/ddd

Smorio si i tamo :)

Nećeš da čitaš, da si me poslušao u ovih svojih 10 tema, dobio bi odgovor, jablan je odustao na prvoj :D

Može 30$/h?

AdriaMart 14. 12. 2011. 22:40

Da sam te poslusao za sta ... za proxy pa iframe ???


I sad se kao vidi source code ili mogu da pristupam njemu sa jqueryem?


valjda je kod nas 10-15e/h?

AdriaMart 14. 12. 2011. 22:47

Citat:

Originalno napisao Dzasa (Napišite 103605)
Hehehe, ako ovako nastavi, iz ovoga sto smo svi napisali, dobio je za dz sve :D


ti si siguran... tvoje resenje necu da uzmem sigurno:)

webarto 14. 12. 2011. 22:49

http://bit.ly/zend-certified-engineer nisam ja kod nas ja sam iz Bosne :D

Da, pokušaj sa http://ekupon.ba ... dobio si odgovor, nije bullet proof ali će da radi na većini siteova, jer 1. ukloni JS 2. ukloni fixirane divove, ako to ne upali, onda ukloni sve fixed elemente... itd, skontaj :)

Tih par linija codea je u stvari proxy, ništa više, na to sam mislio, sa time ti je taj iframe na tvojoj domeni i možeš da barataš sa JS, odnosno ne važi cross domain policy jer je nema u tom slučaju.

Dzasa 14. 12. 2011. 23:33

Sigurnost je vrlo relativna stvar, nigdje nisam pomenuo sigurnost u primjeru da ti pomognem oko problema. Problem je u tome sto si htio da ti neko uradi sve, bez da malo iskoristis dijelove koji su postavljeni...

Na kraju ti je Webarto i uradio sve ali opet vidim da ti nije mnogo jasno...

AdriaMart 15. 12. 2011. 15:06

Citat:

Originalno napisao webarto (Napišite 103611)

SVAKA CAST!

AdriaMart 15. 12. 2011. 18:57

@webarto ovo resenje je solidno. Hvala puno. U kojim slucajevima moze praviti problem i hoce li sve raditi OK ako se script ipak ucitava.

AdriaMart 15. 12. 2011. 19:51

Ej tek sad sam testirao... i ne moze da se pristupa elementima:( , zasto to neznam! ali hvala u svakom slucaju na vremenu koje si izdvojio za ovo. Odustajem od ove ideje definitivno!

Takodje nisam razumeo zasto sve ovo ide u iframe kada moze i lepo da se samo doda funcija 'echo' .


Vreme je GMT +2. Trenutno vreme je 17:51.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.