2009-04-28 4 views
-3

Bitte, ich lösen dieses Problem .. Ich muss auf Facebook oder Twitter oder einer anderen Website von meinem PHP-Skript läuft auf mein Server. Normalerweise mache ich das mit CURL und speichere Cookies in einer vordefinierten Datei. Aber jetzt brauche ich etwas neues .. Ich muss in meinem Browser angemeldet bleiben, auch wenn das Skript den Login-Prozess beendet. Ist das etwas Einfaches, kann ich nicht sehen .. oder gehe ich in kompliziertes Territorium? Etwas sagt mir, ich müsste Javascript verwenden, um alle Cookies zu setzen und die Anmeldedaten zu senden?Bei Facebook mit PHP-Skript anmelden, aber lassen Sie mich in den Browser nach dem Ende dieses Skripts eingeloggt

Wenn jemand sich mit Javascript bei Facebook oder Twitter angemeldet hat, können Sie mir bitte ein paar Tipps oder das komplette Skript mitgeben?

Danke für irgendwelche Tipps und erklären mir die Gesamtlogik.

+0

Aus Neugier, wofür würden Sie das verwenden? Klingt für mich wie verdächtig spamisches Verhalten ...? –

+0

Ich habe diese Stelle bei getafreelancer angenommen, ich dachte, sie brauchen zuerst eine automatische Anmeldung. Jetzt kann ich das Projekt nicht abschließen, ich habe den Weg wirklich nicht gefunden. Spammish? Ich weiß nicht, wofür sie genau das brauchen. Aber ich kann mir viele nicht-spinnende Gründe vorstellen. Für Spamming wäre es in curl. Aber ich entwickelte auch viele Spams und am Ende .. ist mir egal. Es ist klassisches Blackhat gegen Whitehat Dilema. Am Ende sind die WH-Techniken ziemlich BH und Leute kümmern sich nur um Geld. Ich sage nicht, dass es richtig ist. Es ist einfach so. – neon

+0

Es ist alles relativ für mich .. zum Beispiel können Sie von einem großen Finanzinstitut angestellt werden, ihre Finanzsoftware programmieren und denken, wie perfekt Sie arbeiten. Die Leute denken über finanzielle, es ist sehr hoch bewertet, seriöses Territorium. Heh .. für mich sind sie alle Diebstahl .. wenn Sie die Logik von Geld und Banken verstehen. Aber ich habe es nur als Beispiel gemacht. Alles ist ziemlich relativ für mich. Manchmal möchte ich Facebook spammen anstatt das perfekte Bank-Tool zum Ausrauben von Kunden zu machen :) – neon

Antwort

0

Ich glaube nicht, dass das möglich sein soll. Wenn sich Ihr PHP-Skript anmeldet, erhält es einen Authentifizierungs-Token/Cookie für Facebook. Dieser Cookie ist privat und sollte nicht auf einer anderen Maschine verwendet werden. Es gibt hackische Wege, es zu tun, aber keine, die ich empfehlen kann.

2

Ich würde in Facebook Connect, weitere Informationen here und here suchen.

+0

Vielen Dank für eure Antworten. Aber ich brauche diese Funktionalität generell nicht nur für Facebook, sondern auch für Twitter und viele andere Login-Formulare in Allgemeines. Ich müsste einen echten Browser-Login mit meinem PHP- oder JavaScript-Skript fälschen und den Benutzer nach Abschluss des Skripts anmelden. Vielen Dank – neon

1

Für Ihren nächsten Job :) Nach ein wenig Surfen fand ich a script Sie (und manchmal ich) benötigt.

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

} 

und dann können Sie Homepage mit

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

ganze Skript laden ich http://pastie.org/619912 gelegen bin mit.
Und ja, benutze es für gut, nicht für böse :)

Verwandte Themen