Вход в Facebook с PHP скрипт, но позвольте мне войти в браузере после окончания этого сценария

голоса
-3

Пожалуйста, я решить эту проблему .. мне нужно войти в Facebook или Twitter или любой другой веб-сайт из моего PHP скрипт работает на моем сервере. Я нормально делать это с CURL, сохранение куки для некоторого предопределенного файла. Но теперь мне нужно что-то новое .. Мне нужно, чтобы оставаться в системе с моим браузером, даже если скрипт завершает процесс регистрации. Это что-то простое, я не могу видеть .. или я буду в осложненной территорию? Что-то подсказывает мне, я должен был бы использовать JavaScript, чтобы установить все куки и отправить форму данных входа в систему?

Если кто-то сделал Loging в Facebook или Twitter с JavaScript, вы можете поделиться некоторыми советами или полный сценарий со мной, пожалуйста?

Спасибо за любые советы и разъяснения мне общую логику.

Задан 28/04/2009 в 17:30
источник пользователем
На других языках...                            


3 ответов

голоса
0

Я не думаю, что это должно быть возможно. Когда ваш PHP скрипт входит в систему, он получает маркер аутентификации / куки для Facebook. Это печенье является приватным и не должны быть использованы на любой другой машине. Есть хак способов сделать это, но ни один я не могу рекомендовать.

Ответил 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