Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59

    fsockopen come web proxy

    Salve ragazzi,

    volevo sapere se utilizzando la funziona fsockopen è possibile creare uno script PHP che svolga la funzione di un webproxy.

    Ovvero impostando nello script una serie di indirizzi IP di proxy, lo script permette all'utente di visitare il sito utilizzando uno di questi ip.

    Esempio IP:
    1 64.120.22.195 3128
    2 87.139.64.203 3128
    3 124.95.123.141 8088
    4 71.75.19.142 9000
    5 218.119.242.10 8080

    E' possibile farlo?

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Si, e' possibile.

    Ti colleghi al proxy con fsockopen e gli mandi i header completi, quindi get, http, host + eventualmente l'autorizzazione, come se facessi richiesta direttamente al server remoto.
    Poi se vuoi assicurare una navigazione anonima, devi cambiare tutte le src/href/link/import in modo che il browser li richieda attraverso il tuo script.

    NB: quanto detto sopra vale per i proxy http; se invece i tuoi proxy sono socks4/5 il discorso diventa molto piu' complesso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Ok... esiste un codice di prova già scritto da qualcuno dove mi basta cambiare i dati del proxy per usarlo?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    UP.

    Qualcuno può passarmi un codice php che mostra la pagina proxata con qualche IP a scelta?

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Non riesco a far funzionare lo script.

    Ho usato questo codice di prova:

    Codice PHP:
    <?php
    $fp 
    fsockopen("www.example.com"80$errno$errstr30);
    if (!
    $fp) {
        echo 
    "$errstr ($errno)
    \n"
    ;
    } else {
        
    $out "GET / HTTP/1.1\r\n";
        
    $out .= "Host: [url]www.example.com\r\n[/url]";
        
    $out .= "Connection: Close\r\n\r\n";
        
    fwrite($fp$out);
        while (!
    feof($fp)) {
            echo 
    fgets($fp128);
        }
        
    fclose($fp);
    }
    ?>
    Al posto di www.example.com e della porta 80 ho usato questi IP:

    codice:
    Esempio IP:
    1 64.120.22.195 3128
    2 87.139.64.203 3128
    3 124.95.123.141 8088
    4 71.75.19.142 9000
    5 218.119.242.10 8080
    Ma non riesce a connettersi.

  7. #7
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    sei sicuro che quei proxy funzionino? a me non sembra...

    Codice PHP:
    <pre>
    <?php

        $proxy 
    '221.11.35.175';
        
    $port 808;

    $url "http://www.php.net/";
    $fp fsockopen($proxy$port);
    fputs($fp"GET $url HTTP/1.0\r\nHost: $proxy\r\n\r\n");
    while(!
    feof($fp)){
      
    $line fgets($fp4000);
      print(
    $line);
    }
    fclose($fp); 

    ?>
    </pre>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.