Foros del Web » Programando para Internet » PHP »

¿Qué hago con register_globals? ¿ON u OFF?

Estas en el tema de ¿Qué hago con register_globals? ¿ON u OFF? en el foro de PHP en Foros del Web. tener esta variable en on puede ser muy perjudicial para nuestro script por cuestiones de seguridad ya que la varible pude ser suplantada facilmente por ...
  #1 (permalink)  
Antiguo 01/09/2006, 10:11
 
Fecha de Ingreso: agosto-2006
Mensajes: 8
Antigüedad: 17 años, 7 meses
Puntos: 0
Exclamación ¿Qué hago con register_globals? ¿ON u OFF?

tener esta variable en on puede ser muy perjudicial para nuestro script por cuestiones de seguridad ya que la varible
pude ser suplantada facilmente por una variable url, muchos de nosotros tenemos esta variable en on por que nos facilita
pasar los datos de un formulario en una consulta sql, sin embargo para obtener mayor seguridad en nuestros script podemos
tener register_globals en off y utilizar $HTTP_X_VARS,$_POST yO probe con $_REQUEST Y $_POST y ambas funcionaron

$nombres=$_REQUEST['nombres'];
$apellidos=$_REQUEST['apellidos']; ó

$nombres=$_POST['nombres'];
$apellidos=$_POST['apellidos'];

y luego la realice la consulta sql

$sql = "INSERT INTO agenda (nombres,apellidos) ";

$sql .= "VALUES ('$nombres', '$apellidos')";

$result = mysql_query($sql);

y todo salio bien.

luego les cuento como me fue con $HTTP_X_VARS por que aun no lo pruebo
  #2 (permalink)  
Antiguo 01/09/2006, 10:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entendí .. a lo que quieres llegar (si estás haciendo pruebas .. como "suplantar" valores por el URL que van en modo GET pero tu los tomas en POST por ejemplo en tu script PHP y así verificar como se "discrimina" un método de otro con register_globals a OFF .. deberías indicar que pruebas hacer exactamente y detalladamente).

Si register_globals está a OFF no puedes acceder a variables externas a tus scripts por su nombre "gloabal" .. es decir, no puedes acceder por:

$variable_externa

Sino que debes usar:

$_POST['variable_externa'] .. o $_GET . .o en $_REQUEST (pues ese array contiene todo lo que venga en POST, GET y COOKIES)

También podrás acceder por $HTTP_XXX_VARS siempre y cuando esté "registrado" ese array .. o así lo haga PHP .. se define en configuración de PHP y en PHP 5.x en adelante suele venir por defecto a que NO cree los arrays $HTTP_xxx_VARS .. para "obligarnos" por nuestro bien a usar los arrays $_POST .. etc (arrays superglobales).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.