2009-04-28 11 views
-3

私はこの問題を解決しています。FacebookやTwitterなどのウェブサイトにログインする必要があります。私のサーバー。私は通常、CURLでこれを行い、事前定義ファイルにクッキーを保存しています。 しかし、私は何か新しいことが必要です。スクリプトがログインプロセスを終了しても、私はブラウザでログインしたままにする必要があります。 それは簡単なことですか、私は見ることができませんか、私は複雑な領域に入っていますか? 何かが私に言う、私はすべてのクッキーを設定し、ログインデータフォームを送信するためにJavaScriptを使用する必要がありますか?PHPスクリプトでFacebookにログインしますが、このスクリプトの終了後にブラウザにログインさせてください

誰かがFacebookやTwitterにjavascriptでログインしている場合、いくつかのヒントや完全なスクリプトを私と共有できますか?

ヒントを教えていただきありがとうございました。

+0

好奇心の疎外で、これはどのように使用しますか?私に疑わしいスパムのような行動のように聞こえる...? –

+0

私はgetafreelancerでこの仕事を取った、私は彼らが最初にカール自動ログインが必要だと思った。さて、私はプロジェクトを完了することはできません、私は本当に方法を見つけていない。スパム派?私は彼らが何のために必要なのか正確にはわかりません。しかし、私は多くの非スパイミングの理由を想像することができます。スパムの場合、それはカールするでしょう。しかし、私もスパムの多くを開発していた、最後に..私は気にしない。古典的なブラックハット対ホワイトハットのジレンマです。結局、WH技術はかなりBHであり、人々はお金だけを気にしています。私はそれが正しいと言っているわけではない。それはちょうどこのようなものである。 – neon

+0

それは私にとってすべての相対的なものです。例えば、あなたは大きな金融機関に雇われ、金融ソフトウェアをプログラミングし、あなたの完璧な仕事を考えているかもしれません。人々は財政について考える、それは非常に高い評価、評判の高い領域です。あなたはお金と銀行の論理を理解するとき、私にとって、彼らはすべて泥棒です。しかし、私はそれを一例に過ぎませんでした。すべて私にとってかなり親切です。時々私はクライアントを奪うための完璧な銀行のツールを作る代わりにFacebookを迷惑メールにしたいと思う: – neon

答えて

0

これは可能ではないと思います。 PHPスクリプトがログインすると、Facebook用の認証トークン/ Cookieが取得されます。そのCookieはプライベートであり、他のマシンで使用されることは想定されていません。それを行うためのhackish方法がありますが、私はお勧めできません。

2

Facebook Connectの詳細情報はherehereです。

+0

あなたの答えは大変ありがとう。しかし、私は一般的にこの機能をFacebookだけでなくTwitterや他の多くのログインフォームに一般的です。 PHPやjavascriptスクリプトで実際のブラウザのログインを偽って、スクリプトの終了後にユーザにログインさせる必要があります。ありがとうございました – neon

1

あなたの次の仕事:)私は少しサーフィンした後に私はa scriptあなたが(そして時々私が)必要があることがわかった。

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

} 

、その後、あなたはhttp://pastie.org/619912にある私が使用している

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

スクリプト全体でホームページを読み込むことができます。
はい、悪いのではなく、良いためにそれを使用してください:)

関連する問題