Autentifică-te în Facebook cu script PHP, dar permiteți-mi autentificat browser după sfârșitul acestui scenariu

voturi
-3

Te rog, eu sunt rezolvarea acestei probleme .. Trebuie să vă conectați în Facebook sau Twitter sau orice alt site din script-ul meu PHP rulează pe serverul meu. Sunt normaly fac asta cu buclat, economisind cookie-uri pentru unele fișiere predefinite. Dar acum am nevoie de ceva nou .. Am nevoie pentru a rămâne conectat cu browser-ul meu, chiar și atunci când script-ul se termină procesul de conectare. Este ceva simplu, eu nu pot vedea .. sau mă duc în teritoriul complicat? Ceva îmi spune, mi-ar trebui să utilizați JavaScript pentru a seta toate cookie-urile și trimiterea formularului de date de autentificare?

Dacă cineva a făcut Loging în Facebook sau Twitter cu JavaScript, puteți împărtăși câteva sfaturi sau script-ul complet cu mine, te rog?

Multumesc pentru orice sfaturi și mi-a explicat logica generală.

Întrebat 28/04/2009 la 17:30
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
0

Nu cred că acest lucru ar trebui să fie posibilă. Când script-ul PHP în jurnalele, acesta devine un token de autentificare / cookie pentru Facebook. Cookie-ul este privat și nu ar trebui să fie utilizat pe orice altă mașină. Există modalități de a face acest lucru hackish, dar nici unul nu-l pot recomanda.

Publicat 28/04/2009 la 17:37
sursa de către utilizator

voturi
2

Aș privi în Facebook Connect , mai multe informații aici și aici .

Publicat 28/04/2009 la 18:58
sursa de către utilizator

voturi
1

Pentru următoarea muncă :) După un pic de surfing am găsit un script pe care (și , uneori , mi) necesare.

/*
* 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);
 }

}

și apoi puteți încărca pagina de pornire cu

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;
}

Total script Sunt folosind situat la http://pastie.org/619912 .
Și da, l utilizați pentru bine, nu pentru rău :)

Publicat 17/09/2009 la 05:03
sursa de către utilizator

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