Il login in Facebook con script PHP, ma lasciatemi collegato nel browser dopo la fine di questo script

voti
-3

Ti prego, sto risolvendo questo problema .. Ho bisogno di effettuare il login in Facebook o Twitter o qualsiasi altro sito dal mio script PHP in esecuzione sul mio server. Sto normalmente farlo con CURL, il salvataggio dei cookie per un po 'di file predefinito. Ma ora ho bisogno di qualcosa di nuovo .. ho bisogno di rimanere connesso con il mio browser, anche quando lo script termina il processo di login. È che qualcosa di semplice, non riesco a vedere .. o sono io che vado in territorio complicato? Qualcosa mi dice, avrei bisogno di usare javascript per impostare tutti i cookie e l'invio del modulo di dati di accesso?

Se qualcuno ha fatto loging in Facebook o Twitter con javascript, si può condividere alcuni consigli o lo script completo con me, per favore?

Grazie per eventuali suggerimenti e mi ha spiegato la logica complessiva.

È pubblicato 28/04/2009 alle 17:30
fonte dall'utente
In altre lingue...                            


3 risposte

voti
0

Non credo che questo dovrebbe essere possibile. Quando il vostro script PHP si collega, si ottiene un token di autenticazione / biscotto per Facebook. Questo cookie è privato e non dovrebbe essere utilizzato su qualsiasi altra macchina. Ci sono modi hacker per farlo, ma nessuno mi può consigliare.

Risposto il 28/04/2009 a 17:37
fonte dall'utente

voti
2

Vorrei guardare in Facebook Connect , Maggiori informazioni qui e qui .

Risposto il 28/04/2009 a 18:58
fonte dall'utente

voti
1

Per il vostro prossimo lavoro :) Dopo un po 'di surf ho trovato uno script che si (e qualche volta me) bisogno.

/*
* Login to facebook
* $login_email : Account to login with
* $login_pass : Account password
*
* Returns true if logged in successfully, false otherwise
* Echoes any login error code
*
* Matt Smith - geekalicio.us
* Apr 23, 2009
*/
function fb_login($login_email, $login_pass){

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?login_attempt=1');
 curl_setopt($ch, CURLOPT_POSTFIELDS,'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&locale=en_US&email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&pass_placeholder=&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');
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($ch, CURLOPT_COOKIEJAR, str_replace('\\','/',dirname(__FILE__)).'/fb_cookies.txt');
 curl_setopt($ch, CURLOPT_COOKIEFILE, str_replace('\\','/',dirname(__FILE__)).'/fb_cookies.txt');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 GTB5");
 curl_exec($ch);

 $err = 0;
 $err = curl_errno($ch);
 curl_close($ch);

 if ($err != 0){
 echo 'error='.$err."\n";
 return(false);
 } else {
 return(true);
 }

}

e poi si può caricare home page con

if (fb_login($login_email,$login_pass)){
$ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?login_attempt=1');
 curl_setopt($ch, CURLOPT_POSTFIELDS,'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&locale=en_US&email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&pass_placeholder=&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');
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($ch, CURLOPT_COOKIEJAR, str_replace('\\','/',dirname(__FILE__)).'/fb_cookies.txt');
 curl_setopt($ch, CURLOPT_COOKIEFILE, str_replace('\\','/',dirname(__FILE__)).'/fb_cookies.txt');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 GTB5");
$html = curl_exec($ch);

 curl_close($ch);

  echo $html;
}

Sceneggiatura tutta la sto usando trova a http://pastie.org/619912 .
E sì, usarlo per il bene, non per il male :)

Risposto il 17/09/2009 a 05:03
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more