Cita:
Iniciado por iLeaz Peor vieron esos casos en que dicen que si no creas la variable antes del if es como que peuden definirla ellos agregando cadenas en la url o no se que...
osea que el hacker puede decidir el valor de la variable aunque esta no sea GET... nose como es el tema...
Mucho mejor si das el enlace al artículo para entender qué te están diciendo, pero por lo que leo, pareciera que te hablan de algo que ya te han dicho acá, register_globals
Básicamente, si register_globals está activo, una variable recibida por get, post, cookie, environment o server, tomaría un valor que podría usarse para saltarse una validación aunque dicha variable no haya sido definida en el script antes de una validación
Este es un típico ejemplo de ello:
Tienes la url
http://sitio.com/login.php?admin=1
En el código de login.php tienes:
Código PHP:
if ( isset($_POST['password']) && !empty($_POST['password']) ) {
$admin = true;
}
El problema allí, aunque la validación regrese falso (la clave no se envió o la clave está vacía), es que $admin será true, no porque se haya hecho con el código, sino porque desde la URL y debido a register_globals habilitado, se logró definir $admin = 1; lo que claro, convierte $admin en true a ojos del intérprete cuando vaya a ser utilizado nuevamente.
Eso es lo más cercano que conozco a definir valores desde una url que puedan comprometer luego alguna validación hecha por un script. Al menos en base a lo que dices