Connectez-vous à Facebook avec un script PHP, mais laissez-moi connecté dans le navigateur après la fin de ce script

voix
-3

S'il vous plaît, je résoudre ce problème .. Je dois te connecter sur Facebook ou Twitter ou tout autre site de mon script PHP en cours d'exécution sur mon serveur. Je fais cela avec CURL normaly, sauver des cookies pour certains fichiers prédéfinis. Mais maintenant, je dois quelque chose de nouveau .. Je dois rester connecté avec mon navigateur, même si le script se termine le processus de connexion. Est-ce quelque chose de simple, je ne vois pas .. ou je vais dans un territoire compliqué? Quelque chose me dit, je besoin d'utiliser javascript pour définir tous les cookies et l'envoi de la connexion sous forme de données?

Si quelqu'un a fait loging dans Facebook ou Twitter avec javascript, pouvez-vous partager quelques conseils ou le script complet avec moi, s'il vous plaît?

Merci pour tous les conseils et me expliquant la logique globale.

Créé 28/04/2009 à 17:30
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
0

Je ne pense pas que cela doit être possible. Lorsque votre script PHP se connecte, il obtient un jeton d'authentification / cookies pour Facebook. Ce cookie est privé et non censé être utilisé sur une autre machine. Il existe des moyens hackish de le faire, mais je ne peux pas recommander.

Créé 28/04/2009 à 17:37
source utilisateur

voix
2

Je regarderais dans Facebook Connect , Plus d' informations ici et ici .

Créé 28/04/2009 à 18:58
source utilisateur

voix
1

Pour votre prochain emploi :) Après un peu de surf , j'ai trouvé un script que vous (et parfois me) nécessaires.

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

}

et vous pouvez charger la page d'accueil avec

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

Ensemble du script J'utilise situé à http://pastie.org/619912 .
Et oui, l' utiliser pour le bien, non pour le mal :)

Créé 17/09/2009 à 05:03
source utilisateur

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