DFucKAdmin Mensajes : 991 Edad: : 33
| Tema: Personaliza el Chat de Tuenti !! Dom Feb 07, 2010 8:07 am | |
| Info extraida de http://code.google.com/p/xmpphp/
Para poder hacernos un módulo propio de chat de Tuenti solo necesitamos tener una base en codigo XMPPHP. El proceso es bastante sencillo, y si tienes un ratillo te recomiendo probarlo, además está genial explicado y se sigue bien.
Este es un ejemplo de como funciona la libreria xmpphp, utilizada por los creadores de Tuenti:
include("xmpp.php"); $conn = new XMPPHP_XMPP('xmpp1.tuenti,com', 5222, 'username', 'password', 'xmpphp', 'tuenti.com', $printlog=False, $loglevel=LOGGING_INFO); $conn->connect(); $conn->processUntil('session_start'); $conn->disconnect();
El chat de tuenti usa un PLAIN METHOD para el login y por lo tanto solo debemos poner una clave que tiene la siguiente estructura: idusuario@host�idusuario�cookietuenti
por ejemplo:
66171907@xmpp9.tuenti.com�66171907�NjYxNzE5MDc6YTdmYzdjY2Q9ZhVkYzA3ZDY5Y0QyZWFhNzJkYmQ2NDY1MTI2MTg2NjUwMA
Todo esto esta codificado en base64, por lo tanto tenemos que editar la librería tenemos que sustituir esto:
if ($this->password) { $this->send("" . base64_encode("\x00" . $this->user . "\x00" . $this->password) . ""); } else { $this->send(""); }
por esto otro:
$this->log->log("Attempting Auth..."); $id = reset(explode(':', base64_decode($this->password))); $coo = base64_decode('eHh4eHh4eHhAeG1wcDkudHVlbnRpLmNvbQB4eHh4eHh4eABjb29raWU'); $coo = str_ireplace('xxxxxxxx', $id, $coo); $coo = str_ireplace('cook', $cookie, $coo); $coo = base64_encode($coo); $this->send("" . $coo . "");
Para poder iniciar sesión en el chat necesitamos el cookie sid de tuenti.com.Podemos obtenerlo escribiendo en la barra de direcciones cuando estemos en tuenti.com: javascript:alert(document(punto)cookie); y copiamos la cookie sid sin el igual (=) y el punto y coma ";" y el codgo quedaria de la siguiente forma: (las flechas del principio y el final no se copian)
------>include(xmpp.php); $conn = new XMPPHP_XMPP('xmpp1.tuenti,com', 5222, NULL, 'NjI5ODUwNDU6MDRiMDRmNjBlZTZmOGNhZGQxY2MxNzU3MGFmZDM2N2Y6MTI2MTk5NjU3Mg', 'xmpphp', 'tuenti.com', $printlog=False, $loglevel=LOGGING_INFO); $conn->connect(); $conn->processUntil('session_start'); $conn->message('66171907', 'This is a test message!'); $conn->disconnect();<-----------
Mas ejemplos y descargar la libreria: http://code.google.com |
|