Σύνδεση στο Facebook με την PHP script, αλλά επιτρέψτε μου να καταγράφεται στο πρόγραμμα περιήγησης μετά το τέλος αυτού του σεναρίου

ψήφοι
-3

Παρακαλούμε, είμαι επίλυση αυτού του προβλήματος .. Θα πρέπει να συνδεθείτε στο Facebook ή το Twitter ή οποιαδήποτε άλλη ιστοσελίδα από την PHP script μου τρέχει στον server μου. Είμαι κανονικά το κάνουμε αυτό με CURL, την αποθήκευση των cookies σε κάποιο προκαθορισμένο αρχείο. Αλλά τώρα χρειάζομαι κάτι καινούργιο .. Πρέπει να είστε συνδεδεμένοι με το πρόγραμμα περιήγησης μου, ακόμα και όταν το σενάριο τερματίζει τη διαδικασία σύνδεσης. Είναι αυτό κάτι απλό, δεν μπορώ να δω .. ή θα πάω στο πολύπλοκο έδαφος; Κάτι μου λέει, θα πρέπει να χρησιμοποιήσετε τη javascript για να ορίσετε όλα τα cookies και την αποστολή της φόρμας τα στοιχεία?

Αν κάποιος έχει κάνει συνδέεστε στο Facebook ή το Twitter με javascript, μπορείτε να μοιραστείτε κάποιες συμβουλές ή το πλήρες σενάριο μαζί μου, παρακαλώ;

Ευχαριστώ για τις συμβουλές και εξηγώντας μου τη συνολική λογική.

Δημοσιεύθηκε 28/04/2009 στις 17:30
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
0

Δεν νομίζω ότι αυτό υποτίθεται ότι είναι δυνατό. Όταν PHP script σας συνδέεται σε, παίρνει ένα κουπόνι ταυτότητας / μπισκότο για το Facebook. Αυτό το cookie είναι ιδιωτική και δεν πρέπει να χρησιμοποιείται σε οποιοδήποτε άλλο μηχάνημα. Υπάρχουν hackish τρόποι για να το κάνουμε, αλλά κανένας δεν μπορώ να συστήσω.

Απαντήθηκε 28/04/2009 στις 17:37
πηγή χρήστη

ψήφοι
2

Θα εξετάσουμε το Facebook Connect , Περισσότερες πληροφορίες εδώ και εδώ .

Απαντήθηκε 28/04/2009 στις 18:58
πηγή χρήστη

ψήφοι
1

Για την επόμενη δουλειά σας :) Μετά από μια μικρή περιήγηση βρήκα ένα σενάριο που (και μερικές φορές μου) που χρειάζονται.

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

}

και, στη συνέχεια, μπορείτε να φορτώσετε την αρχική σελίδα με

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

Ολόκληρο το σενάριο Είμαι χρησιμοποιώντας βρίσκεται σε http://pastie.org/619912 .
Και ναι, το χρησιμοποιούν για το καλό, όχι για το κακό :)

Απαντήθηκε 17/09/2009 στις 05:03
πηγή χρήστη

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