Hacking Develooping Flash Chat
En estos días estuve trabajando en el rediseño de NetMoviles, por contacto de mi amigo grapitix radicado en la madre patria, entre otras cosas quieren cambio de diseño, y de la web, agregar unas cosas entre ellas un chat para realizar consultas en línea.
No tenía tiempo para desarrollar uno en flash (asi lo querían
), así que me puse a la busca de uno en google. Encontré varios pero eran un poco pesados para mi gusto, hasta que dí con Develooping flash chat desarrollado en flash y php; incluso hay una demo para que lo prueben en línea, haber si les convence
.
En la web del autor dice lo siguiente “Es gratuito, puedes usarlo libremente y modificarlo como desees (siempre que mantengas los créditos).”; creo que el autor quiso decir libre
. Lo descargué y me dispuse a instalarlo, pero no funcionaba :S, asi que revisé el código, y ví que usaba variables globales por todos lados, es decir, para que funcione la opción en el php.ini, register_globals debería estar activada. Yo tengo dicha opción desactivada porque no me gusta usar variables globales nunca, y no solo en php, en mi opinión el uso de variables globales hace que el código se vuelva dificíl de mantener y entender, a parte que no es un buen hábito de programación, ni muy seguro que digamos
, aunque algunos ven el uso de globales como desarrollo mas rápido, lo cual es diferente de productivo
.
Para dar un ejemplo del uso de globales, Si llamamos a una página con http://www.miweb.com/mipagina.php?mivariable=5, esto provoca que en la página mipagina.php automáticamente genere la variable $mivariable con el valor 5. Pero por razones de seguridad este comportamiento automático se ha cambiado, estableciendo el valor por defecto de register_globals a off, a partir de la version 4.2.x de PHP.
Ahora para no trabajar con globales debemos buscar todas aquellas variables que son definidas automáticamente, variables del servidor, que provienen de get o post, cookies, files, variables de entorno o sesión. Reemplazar esas variables por las referencias adecuadas en cada caso, en PHP se han definido unos arrays diferentes con valores, dependiendo del lugar de procedencia. Así tenemos los arrays $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV, $REQUEST y $_SESSION.
Si por ejemplo tenemos el siguiente script:
echo "Usuario: " . $usuario; //session
echo "Tipo de navegador: " . $HTTP_USER_AGENT;
echo "Variable: ".$mivariable; //variable de get
Se reemplaza por:
echo "Su edad: " . $_SESSION['usuario']; //session
echo "Tipo de navegador: " . $_SERVER['HTTP_USER_AGENT'];
echo "Variable: " . $_GET['mivariable']; //variable de get
Hechos los cambios para que no use variables globales, me puse a instalarlo en el servidor de pruebas y funciona perfectamente
.
Le envié el proyecto modificado al autor para que lo revise y lopublique en su web si lo desea
.
Para los que lo quieren probar lo pueden descargar de aquí(siempre y cuando mi pc este encendidad
)
O desde aquí
Ahí los vidrios.

Me parecen geniales tus modificaciones al chat de Devolooping, porque yo quise usar ese pero el servidor que yo pago no acepta que se activen las variables globales, el tuyo si me deja usarlo pero igual me da algunos problemas el primero es este mensaje en intro.php:
Notice: Undefined index: nametaken in C:…intro.php on line 3
aun así me deja pasar pero ya en el chat no se conecta.
que podria ser?, me puedes ayudar, gracias
Comment by Robert — July 21, 2007 @ 6:51 am
Gracias maestro. Estupendo trabajo. Llevaba tres dias intentado lo mismo pero me perdí en el bosque de código. Me funciona bien en mi servidor con register_globals off. Enhorabuena y gracias.
Comment by pedro enrique — December 24, 2007 @ 10:22 am
Excelente muchas gracias!
Comment by Alrevez — March 21, 2008 @ 10:53 pm
hola amigos, la clave
Comment by djblack — June 21, 2008 @ 3:19 am
una pregunta he instaldo el chat pero cuando la opcion donde como quiero conocer al usuario por la ip o por pasword y cuando utiliza el ip no puedo ingresar
y me dice que lo sentimos no puede ingresar por que no obtenimos su ip
una ayuda para esoooo
lo instale en el hosting gratis
http://shinranet.com
Comment by sokso — September 18, 2008 @ 6:15 pm
una pregunta he instaldo el chat pero cuando la opcion donde como quiero conocer al usuario por la ip o por pasword y cuando utilizo la opcion ip no puedo ingresar
y me dice que lo sentimos no puede ingresar por que no obtenimos su ip
una ayuda para esoooo
lo instale en el hosting gratis
http://shinranet.com
wik-2006@hotmail.com
Comment by sokso — September 18, 2008 @ 6:16 pm
Me libraste del trabajo!! gracias!!
Comment by diseño web — July 24, 2009 @ 4:15 am