Muchas veces nos encontramos con aplicaciones web que entre sus requerimientos solicitan tener register_globals activado, esto significa que el plan de Hosting que hayan contratado, deberá tener esta variable activada desde la configuración de PHP (o bien del sitio en particular). Mediante este breve artículo, pretendemos transmitirles lo malo de usar aplicaciones que tengan este requerimiento, brindando algunos ejemplos para evitar cometer estos errores.
Cuando esta directiva se encuentra activada, la misma podrá llenar de todo tipo de variables los scripts que estemos usando, este detalle, sumado al hecho de que PHP por defecto no requiere la definición de variables, se traduce en una gran facilidad para poder programar código inseguro. Por ello fue que desde la versión 4.2.0 la comunidad de desarrolladores de PHP decidieron tener esta variable desactivada por defecto en la configuración de PHP.
<?
if ( $usuario ) {
echo «Usuario correcto»;
} else {
echo «Usuario incorrecto»;
}
?>
Como se ve en este ejemplo, personas malintencionadas que navegaran la web, podrían pasar por URL (http://www.example.com/?usuario=1) la variable usuario y entrar al sistema sin contraseña.
Si bien ya estamos en la era de PHP 5 (y pronto el 6), hay mucha gente que sigue programando usando register_globals activado, los riesgos como ven son muchos, por eso les recomendamos leer esta guía: Programando PHP con register_globals = off