Facebook Graph Auth Token auf die gemütliche weisse!Geschrieben am 14.05.2010 in Code Works Habt ihr schonmal gesehen was Facebook will damit man an einen Facebook Graph Auth Token kommt? Schrecklich… Und für viele sachen einfach total umsonst! Also warum nicht einen Zentralen token abfragen können? Und natürlich geht das mit etwas cURL und PHP! Die Idee ist, einfach eine Dummie User anzulegen, sich damit einloggen, und den Token von der Beispielseite zu entwenden. Ganz simple! <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?'); curl_setopt($ch, CURLOPT_POSTFIELDS, 'email=' . urlencode("DUMMIE_EMAIL") . '&pass=' . urlencode("DUMMIE_PASSWORT") . '&login=' . urlencode("Log in")); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_COOKIEJAR, "fbcookies.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, "fbcookies.txt"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12"); $login = curl_exec($ch); curl_setopt($ch,CURLOPT_URL,"http://developers.facebook.com/docs/api"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,50); curl_setopt($ch, CURLOPT_COOKIEJAR, "fbcookies.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, "fbcookies.txt"); $data = curl_exec($ch); curl_close($ch); $token = explode('<a href="https://graph.facebook.com/',$data); $token = explode('?access_token=',$token[1]); $token = explode('">',$token[1]); echo $token[0]; ?> Funktioniert auch bei Safemode ON! Einfach deine E-Mail adresse und dein Passwort einsetzen, bzw das des Dummies. Gegebenenfalls die Cookie Datei “fbcookies.txt” erstellen und beschreibbar machen, und schon kann man das Script ohne Inputs Requesten und bekommt seinen Facebook Auth Token! Viel Spass! xD EDIT:// Seit neuestem Tritt nach ein paar Versuchen ein Fehler auf, dann muss der User sich erst selbst einloggen und eine lächerliche aber lustige Prozedur über sich ergehen lassen um letztendlich dem jeweiligen Server den Zugriff entgültig zu erlauben. 0 Kommentare - |
||
Facebook Graph Data Extractor (fbstalk [Alpha*])fbstalk ist ein Script zur Abfrage von Daten der Facebook Graph Api! Unter anderem kann man User suchen, derren Wall betrachten und sehen was diese user gerne Mögen, welche Gruppen sie beiwohnen und auf welche Events sie eingeladen werden. Nachdem klar wurde was die Facebook Graph Api alles kann, wollte ich mir auf keinen Fall nehmen lassen das bis ins letzte auszunutzen. Ich gehe stark davon aus das die meisten Facebook User nie wieder einen Job bekommen würden wenn alle Chefs der Welt dieses Script hätten! Es kann aber auch nützlich sein wenn man sein Profil aufräumen möchte und erkennt das Facebook einen das jetzt nicht mehr wirklich ermöglicht. Oder dem Namen nach, einfach zum stalken… ^^ Update:// Jetzt mit Token Spiegel Server! Von mir aus könnt ihr mit dem Script machen was ihr wollt! Wenn ihr es im Netz weiter gebt möchte ich allerdings das ihr auf diese Page verlinkt und nicht auf das Script selbst. Ich gehe hier von Linux aus, wer das Script in anderen Systemen nutzen will muss es selbst ändern… Sorry baue an einer Plattformübergreifenden Applikation! Also wie gesagt nutze ich dafür einfach die Facebook Graph Api, das Script selbst ist in Ruby. Abhängigkeiten Installieren sudo apt-get install ruby rubygems sudo gem install colored sudo gem install hpricot sudo gem install json Sorry für die colored abhängigkeit, nur da kommen sooo viele Daten teilweise das es einfach seine Farbliche Ordnung braucht! Installation sudo ./fbstalk.rb install Manuell so: sudo cp ./fbstalk.rb /usr/bin/fbstalk sudo chmod 755 /usr/bin/fbstalk touch ~/.fbstalk Verwendung Wenn man den Installations Schritt nicht machen will / kann ruft man das Script immer folgendermassen in der Shell auf: ruby /path/to/fbstalk.rb find anybody Dann muss man einen Token setzen. Facebook möchte das man dafür eine Applikation Registriert und sich dann umständlich Authentifiziert (wirklich umständlich… die haben ja keine Ahnung xD)… Ich will das jedenfalls nicht und mache das einfach folgendermassen Eigenen Token bekommen:
oder mit folgender Funktion. Token vom Token-Spiegelserver: fbstalk token get EXPERIMENTELL! Hier ist die suche aber ungenauer. Sonst wäre sie auf eure Umgebung eingestellt
Token setzen:
fbstalk token "TOKEN" Token lesen: fbstalk token show Personen suchen: fbstalk find anybody@example.com fbstalk find anybody somebody Personen suchen mit Geschlecht und Geburtsdatum in der Ausgabe wenn möglich: fbstalk dfind anybody@example.com fbstalk dfind anybody somebody Info über eine Person (Url Prefix oder ID) fbstalk info anybody fbstalk info 154574621 Hier hatte ich teilweisse eine viel Detailierter Ausgabe, dann nicht mehr.. gehe dem nach!
Wall von einem User (Url Prefix oder ID) fbstalk wall anybody fbstalk wall 156421355 Leider / Gottseidank recht oft gesperrt für aussen
Gruppen eines Users (Url Prefix oder ID) fbstalk groups 1515421332 fbstalk groups anybody Funktioniert nur bei Freunden des Token ursprungs
“Likes” eines Users (Url Prefix oder ID) fbstalk like anybody fbstalk like 154654654 Funktioniert absolut uneigeschrenkt bei jedem!
Events zu denen ein User eingeladen wurde (Url Prefix oder ID) fbstalk events 1565465465 fbstalk events anybody Die Antwort des Users muss momentan noch Manuell geprüft werden
Bekannte Fehler bad URI(is not URI?) /usr/lib/ruby/1.8/uri/common.rb:436:in `split': bad URI(is not URI?): ... Dieser Fehler weisst auf einen fehlerhaften Token hin. Kommt gern wenn man den token vom Spiegel Server mit token get holt! 500 Internal Server Error /usr/lib/ruby/1.8/open-uri.rb:277:in `open_http': 500 Internal Server Error (OpenURI::HTTPError) ... Die häufigste Ursache hierfür ist ein Abgelaufener, oder auch ein Total Falscher Token. Weitere Fehler, Fragen oder Anregungen, bitte posten! 5 Kommentare - |
||
Ultimative PHP Browser detection funktion!Geschrieben am 07.05.2010 in Code Works Im laufe eines Projekts habe ich diesen Code zusammengewürfelt. Stundenlange kleinarbeit, und ja man hätte es kürzer fassen können aber es funktioniert! Der Code holt Browser und Versionsnummer aus der $_SERVER['HTTP_USER_AGENT'] Variable. Ich habe natürlich nicht einmal annähernd alle Browser getestet, aber es ist simple genug um keine Fehler darin zu haben. Das Script detected bis zu 142 verschiedene Browser und fast alle mit Versionsnummern!!! Es ist zu gross um es hier zu posten (fast 600 Zeilen) darum: [DOWNLOAD] Suchmaschinen Bots, Mobile Browser und Betriebsystem Folgen! 0 Kommentare - |
||
History Hack mit jQueryGeschrieben am 15.04.2010 in Code Works Momentan wo Firefox anscheinend eine Lösung für diese schon seit immer existierende Lücke gefunden hat, wird ja wieder viel darüber diskutiert. Es geht darum mit JavaScript und der CSS pseude Klasse :visited herauszufinden welche Seiten der Besucher noch in seiner History hat. Schon vor längerer Zeit habe ich mit einem Script begonnen das einen auf Basis dieses Tricks verschiedenste Daten auflistet. Und gerade bin ich dabei das etwas auszubauen mit der Idee vieleicht durch “Gruppenzugehörigkeit” auf Facebook und anderen Communites die echten Namen der User in Erfahrung zu bringen. Wie es ein Forschungsteam vor kurzem tat. Aber genug dazu, wenn ich Fertig bin bekommt ihr es sowieso zu sehen und erklärt. Aber ich möchte euch noch einen kleinen Source geben der Zeigt wie das aussehen könnte: <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> // Link check Funktion function c_link(id, out){ if ($("a#"+id+":visited").length) { community[i] = out; i = community.length; } } // Variablen Setzen community = []; i = 0; // und checken $(document).ready(function(){ c_link('facebook','Facebook'); c_link('netlog','Netlog'); c_link('myspace','MySpace'); $("#community").html(community.join(', ')); }); </script> Wie man sieht EXTREM simple! 0 Kommentare - |
||
Twitter Merchandise BotGeschrieben am 03.04.2010 in Code Works Twitter ist zu einem wichtigen Werbemittel geworden, wie wäre es also wenn wir einfach die Twitter Datenbank nach usern durchsuchen die über Themen die zu unserer Werbung passen schon einmal getwittert haben? Genau! Es wäre genial! Meine Suche ob und wie solche Twitter Bots schon existieren haben ein paar teure Scripte und kostspieliege Anfragen zum vorschein gebracht. Was ich für mich korreckt halte wenn man sieht wie einfach das ganze ist… Darum hier eine simple umsetzung in PHP eines sehr Praktischen Twitter Bots. Achtung: Twitter sieht das natürlich nicht gerne, darum mass das ganze einfach recht langsam sein, und nicht immer das selbe sein! Hier der ganze Bot: <?php // Zufalls URL function url(){ $links = array("http://snipurl.com/test", "http://rurl.org/test" $link_c = count($links); $rand = rand(1,$link_c)-1; return $links[$rand]; } // Zufalls Nachricht function message(){ $mess = array("Nachricht 1", "Nachricht 2" ); $mess_c = count($mess); $rand = rand(1,$mess_c)-1; return $mess[$rand]; } // Send // Erneuere deinen Twitter Status, mit einem @username function send($user){ $username = 'username'; // Ersetzen!! $password = 'password'; // Ersetzen!! $message = "@".$user." ".message()." ".url(); $url = 'http://twitter.com/statuses/update.xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); $buffer = curl_exec($curl_handle); curl_close($curl_handle); } // Suche // Durchsuche Twitter nach einer Phrase function search($phrase){ $user = array(); // Leeres Array erstellen // q = suchphrase; rpp = ergebniss anzahl $filename = 'http://search.twitter.com/search.atom?q='.$phrase.'&rpp=100'; $xml = simplexml_load_file($filename); if($xml) { foreach($xml->entry as $x) { $x = str_replace("http://twitter.com/","",$x->author->uri); array_push($user, $x); // User hinzufügen } $user = array_unique($user); // Keine Doppelten User return $user; } } // Verarbeiten // Braucht die "q" Variable beim URL Aufruf // q stellt die Phrase dar nach der gesucht wird. if(isset($_GET['q'])){ $user = search($_GET['q']); foreach ($user as $u){ sleep(rand(2,250)); // Wichtig! Warten zwischen 2 und 250 Sekunden! send($u); print "USER: ".$u." OK<br />"; } } Grundsätzlich ist das alles ganz einfach, und könnte an ein paar Stellen auch noch etwas vereinfacht werden. Ich finde es so aber übersichtlicher. Zur Erklärung: url(): Zufällige URL um Twitter zu verwirren! Ganz einfach oder? Achtung: Alle Tests führten zu gesperrten Accounts… Wenn jemand den Schlüssel kennt bitte her damit! Viel Spass beim Botten! Und verdammt nur für brave Sachen verwenden!!! 0 Kommentare - |
||
Valide Youtube Videos EinbindenGeschrieben am 09.03.2010 in Code Works Es war ein richtiger Shock für mich als der W3C Validator ohne vorwahnung plätzlich anfing Fehler auszuspucken… Und alles nur wegen ein paar Youtube Embed’es?! Ja es ist wahr, Youtube Embed Codes sind nicht XHTML Kompaktibel… Aber es gibt wie immer für alles eine Lösung Youtube gibt einen einen Code wie diesen hier, um sein Video einzubinden: <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/bqL8ls8CaEA&hl=en_US&fs=1&"></param> <param name="allowFullScreen" value="true"></param> <param name="allowscriptaccess" value="always"></param> <embed src="http://www.youtube.com/v/bqL8ls8CaEA&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object> 14 Errors, 12 warning(s), als ergebniss von einem Youtube Video in einem korrekten XHTML Grundgerüst… Aber was wäre ich wenn ich keinen Weg wüsste dagegen vorzugehen? xD |
||
CSS 3, was es da so gibt und wie es geht.Geschrieben am 09.03.2010 in Code Works CSS 3 geistert nun schon eine ganze weile herum, wirklich genutzt wird es momentan nur selten weil nicht alle Browser darauf anspringen. Aber die Möglichkeiten die einen mit CSS 3 gegeben werden sind genial und erweitern die Webprogrammierung um ein paar sehr nützliche Funktionen. Mit diesem Artikel möchte ich einen kleinen überblick über CSS 3 geben! Eigentlich sah mein Plan vor paralell zu diesem Artikel mein Design nochmal mit CSS 3 zu überarbeiten, aber solange mein Schatz Opera dies nicht so darstellt wie ich es will wird daraus noch nichts ^^ |
||
BB Code implementieren in PHPGeschrieben am 28.02.2010 in Code Works Ich brauchte die Funktion erst kürzlich, also dachte ich ich kann sie ja auch gleich mit euch teilen! Mit dem Folgenden Code werden die wichtigsten Punkte von dem BBCode mit PHP implementiert, bzw. werden einfach die BBCode Stücke mit passendem HTML ersetzt Es erklärt sich eigentlich recht von allein, vorausgesetzt man versteht Reguläre Ausdrücke, wenn nicht wird hier später mal ein Link zu einem Zukünftigen Tutorial zu finden sein ^^ |
||
mit jQuery auf Tastendruck reagieren!Geschrieben am 18.02.2010 in Code Works Im Zuge einiger Tests bezüglich eines Ajax Games brauchte ich dringend Tastenfunktionen, ich war richtig Schockiert wie leicht das geht! Ersteinmal wollte ich eine Funktion die mir die den jeweiligen String Code ausgibt. |
||
Latest Tweets Box – PHP, SimpleXML, Ajax und die Twitter APIGeschrieben am 16.02.2010 in Code Works Wie ihr rechts in meiner Sidebar seht hab ich mir eine Last Tweets Box gebastelt ^^ |
||

