PHP ile Facebook içine giriş, ama bana bu komut bitiminden sonra tarayıcıda açmış izin

oy
-3

Ben bu sorunu çözme am Lütfen .. Ben Facebook ya da Twitter ya da benim sunucuda çalışan benim PHP komut dosyasından başka web sitesine giriş yapmanız gerekecek. Ben normal bazı önceden tanımlanmış dosyaya çerezleri tasarruf CURL ile bu yapıyorum. Ama şimdi komut giriş işlemini sona bile, tarayıcımla bağlı kal gerekir .. yeni bir şey gerekiyor. basit bir şey, ben göremiyorum .. ya da ben komplike bölgeye gidiyorum mı? İçimden tüm çerezleri ayarlamak için javascript kullanmak gerekir ve giriş verileri formu göndererek ediyorum, bana söyler?

Herkes javascript ile Facebook veya Twitter içine loging yapmış ise, benimle bazı ipuçları veya tam senaryoyu lütfen paylaşabilirim?

Herhangi ipuçları için teşekkürler ve bana genel mantığını açıklayan.

Oluştur 28/04/2009 saat 17:30
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
0

Bunun mümkün olması gerekiyordu sanmıyorum. PHP komut giriş yaptığında bunun Facebook için bir kimlik doğrulama belirteci / çerez alır. Yani çerez özel ve başka hiçbir makinede kullanılacak olması gerekiyordu olduğunu. Bunu yapmanın hackish yolu vardır ancak hiçbiri tavsiye edebilir.

Cevap 28/04/2009 saat 17:37
kaynak kullanıcı

oy
2

İçine olmazdı Facebook Connect , diğer bilgiler burada ve burada .

Cevap 28/04/2009 saat 18:58
kaynak kullanıcı

oy
1

Bir sonraki iş için :) biraz sörf sonra buldum bir script sizin (ve bazen ben) gerekli.

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

}

ve sonra birlikte ana sayfa yükleyebilirsiniz

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

Tüm komut dosyası ben bulunan kullanarak ediyorum http://pastie.org/619912 .
Ve evet, iyilik için değil, kötülük için kullanabilirsiniz :)

Cevap 17/09/2009 saat 05:03
kaynak kullanıcı

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