Přihlášení do Facebooku s PHP skriptu, ale dovolte mi zaznamenána v prohlížeči po ukončení tohoto skriptu

hlasů
-3

Prosím, já jsem řešení tohoto problému .. Musím se přihlásit do Facebooku nebo Twitteru nebo jakékoliv jiné webové stránky z mého běhu PHP skriptu na svém serveru. Já normálně dělat, že s lokny, ukládání cookie do určité předem definovaného souboru. Ale teď musím něco nového .. Musím zůstat přihlášeni pomocí svého prohlížeče, a to i když skript ukončí proces přihlášení. Je to něco jednoduchého, nevidím .. nebo mám jít do komplikované území? Něco mi říká, budu muset použít javascript nastavit všechny cookies a odesláním dat formuláře pro přihlášení?

Pokud má někdo udělal Logování do Facebooku nebo Twitteru pomocí JavaScriptu, můžete sdílet některé tipy nebo celý scénář se mnou, prosím?

Díky za jakékoliv tipy a vysvětluje mi celkovou logiku.

Položena 28/04/2009 v 17:30
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
0

Nemyslím si, že to má být možné. Když vaše PHP skript přihlásí, to dostane ověřování tokenu / cookie pro Facebook. Že cookie je soukromý a nebude měl být použit na žádném jiném stroji. Existuje hackish způsobů, jak to udělat, ale nikdo mohu doporučit.

Odpovězeno 28/04/2009 v 17:37
zdroj uživatelem

hlasů
2

To bych se na Facebook Connect , Více informací zde a zde .

Odpovězeno 28/04/2009 v 18:58
zdroj uživatelem

hlasů
1

Pro další práci :) Po krátkém surfování jsem našel skript vy (a někdy i já) potřeboval.

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

}

a pak můžete otevřít domovskou stránku

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

Celý scénář jsem pomocí nachází na http://pastie.org/619912 .
A ano, použijte ji k dobrému, ne zlo :)

Odpovězeno 17/09/2009 v 05:03
zdroj uživatelem

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