Developing my life

VariosJanuary 21, 2006 4:02 am

Vaya que ya se les extrañaba, después de unas merecidas vacaciones regresan para deleitarnos con cada semana con sus líos :D .

Esta semana: Captando inversiones.

Ahi los vidrios. :D

Programacion, PHP 3:25 am

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 :P ), 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 :D .

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 :P . 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 :P , aunque algunos ven el uso de globales como desarrollo mas rápido, lo cual es diferente de productivo :D .

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 :D .

Le envié el proyecto modificado al autor para que lo revise y lopublique en su web si lo desea :P .

Para los que lo quieren probar lo pueden descargar de aquí(siempre y cuando mi pc este encendidad :P )
O desde aquí

Ahí los vidrios. :D

VariosJanuary 11, 2006 3:11 pm

Para los mas avezados juakers :P , y para los windowzeros que se olvidan su password para entrar a su querido windows :P , aquí tienen una opción.

Ophcrack es un CD live basado en Ubuntu, que crackea el archivo SAM del windows (sí, ese donde están las passwords), para obtener las passwords de cualquier usuario de windows.

El procedimiento es tan fácil como meter el CD y reiniciar. El CD Live accede a la partición windows, copia el archivo SAM, lo descomprime y comienza el descifrado automáticamente.

Supuestamente funciona en NT/2000/XP/2003/Vista (sí, Vista :P ), yo no lo he probado, solo porque ya no quiero ver nada de ese pasado tormentoso :D .

Si tu quieres probarlo, puedes descargar la ISO aquí.

Ahí los vidrios! :D