Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [PHP] cURL, gestione cookies & co

    Ciao a tutti. Sto cercando di realizzare un proxy php per Facebook veloce e funzionante come f1.chinoxy.com per "bypassare" un proxy aziendale molto carognoso (lo voglio rifare e non usare questo perchè non so di preciso dove vadano a finire il mio username e la password...)

    Per fare ciò ho deciso di usare PHP e l'estensione cURL per il recupero delle pagine (monterò tutto su un webserver "visibile" e non filtrato dal proxy che mi farò da tramite tra me e FB).

    Sono attualmente arenato sul login:

    un pò googhelando e un pò mettendoci del mio sono arrivato a questo codice che ho provato su piattaforma Win7/Apache e che fa correttamente il login:

    Codice PHP:
    <?php
    include ("LIB_parse.php");

    $cookie_file_path "cookie.txt";
    $fp fopen($cookie_file_path"w");
    fclose($fp);

    $username "tuausername";
    $password "tuapassword";

    $post4login "charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&version=1.0&return_session=0&charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&email=".$username."&pass=".$password."";

    function 
    curl_get($url$post NULL)
    {
        global 
    $cookie_file_path$username$password
        
    $ch curl_init();
        
    curl_setopt($chCURLOPT_URL$url);
        
    curl_setopt($chCURLOPT_USERAGENT$_SERVER['HTTP_USER_AGENT']);
        
    curl_setopt($chCURLOPT_REFERER"https://www.facebook.com/login.php");
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
        
    curl_setopt($chCURLOPT_HEADER1);
        
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
        
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
        
        
    // Ricevi cookies
        
    curl_setopt($chCURLOPT_COOKIEJAR,  $cookie_file_path);
        
    curl_setopt($chCURLOPT_COOKIEFILE$cookie_file_path);
        
        if (
    $post){    curl_setopt($chCURLOPT_POSTFIELDS$post);}
        
        
    $html curl_exec($ch);

        return 
    $html;
    }


    $url "https://www.facebook.com/login.php?login_attempt=1";

    $a curl_get($url$post4login);
    echo 
    $a;

    // final result $result = return_between($a, "<!DOCTYPE html>","</html>", INCL);

    ?>
    Il problema è che nel file cookie.txt non viene scritto un tubo. San Google è venuto in mio aiuto dicendomi che su Windows devo usare i percorsi assoluti sennò PHP e cURL litigano (quando mai!) (http://www.renownedmedia.com/blog/ph...ng-on-windows/).

    In effetti inserendo l'url assoluto il file viene scritto.... unico problema che non funziona più il login! Mi ci sono scervellato un pò ma non ho risolto

    Dove sbaglio? Il mio obiettivo è creare una benedetta funzione che vada per tutte le pagine.

    - quando faccio il POST di login mi salvi la reply del server con i cookie in un file senza far casino

    - quando richiamo una qualsiasi altra pagina di quel dominio usi il cookie salvato per farmela vedere


    Non so se quello che ho elaborato è il metodo più semplice per raggiungere l'agognato obiettivo (lato programmazione intendo, non ditemi che con una VPN posso risolvere perchè il proxy aziendale è una carogna) ogni altra soluzione è accetta (e sono curioso di sapere cosa sbaglio nel mio codice se possibile).

    Grazie a tutti

  2. #2

  3. #3

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.