Foros del Web » Programando para Internet » PHP »

duda sobre variables de sesion

Estas en el tema de duda sobre variables de sesion en el foro de PHP en Foros del Web. hola a todos! a ver, me pregunto lo siguiente: supongamos que tengo una variable de sesion definida, con su valor y todo, y que se ...
  #1 (permalink)  
Antiguo 23/12/2002, 04:04
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 23 años, 1 mes
Puntos: 2
duda sobre variables de sesion

hola a todos!

a ver, me pregunto lo siguiente:

supongamos que tengo una variable de sesion definida, con su valor y todo, y que se llama "var1". ¿Que pasaria su alguien llamara a alguno de los scripts que usan esa variable del siguuente modo:


miScript.php?var1=hola

me pregunto esto por que en php parece que no hay forma de diferenciar (no se si habra forma pero parece no ser necesario) si las variables de pasan como post, como get o se toman de la sesion......


Alguien me lo explica??

Gracias!


ToKaTa.
  #2 (permalink)  
Antiguo 23/12/2002, 04:28
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 22 años, 3 meses
Puntos: 1
Hola:

Seguramente alguien mas te va a dar una respuesta mas exacta sobre esto, pero para darte una idea te comento que existen varios arrays que permiten que al recoger una variable nos aseguremos que se haya pasado por el metodo esperado:

HTTP_POST_VARS
HTTP_GET_VARS
HTTP_SESSION_VARS
...etc

en el 3er ó 4to post de las faqs esta bien explicado, pegale un vistazo.

saludos.
  #3 (permalink)  
Antiguo 23/12/2002, 04:34
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Concretamente, pueden interesarte:

4. ¿Que es una "sesion" de PHP?

5. Como guardo y leo una variable de sesión.
__________________
M a l d i t o F r i k i
  #4 (permalink)  
Antiguo 23/12/2002, 07:41
 
Fecha de Ingreso: marzo-2001
Ubicación: Gran Canaria
Mensajes: 381
Antigüedad: 23 años, 1 mes
Puntos: 2
ok....lo voy cogiendo, solo una pregunta mas pa tenerlo totalmente claro:


si tengo una variable de sesion llamada "miVariable" y ademas mediante el metodo get paso una variable que se llama tambien "miVariable", si uso en mi script lo siguiente:

$_SESSION["miVariable"]


estare estar totaolmente seguro que solo y exclusivamente se cogera la variable de session descartando la que llega por el metodo get????


Gracias de nuevo!



ToKaTa.
  #5 (permalink)  
Antiguo 23/12/2002, 13:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si usas register_globlas a OFF en el servidor q ejecutes tu cógido te aseguras 100% que los arrays superglobales $_xxx tomen su valor y no se acepte nada que no sea accedido por ese array ...

Con esto te obligas (y así deberias hacerlo) a usar si recoges una variable por GET a:

$_GET['variable']

y si lees una variable de session usar:

$_SESSION['variable']

Si asumes globales (usas register_globals a ON)

si llamas a una variable en tu codigo por:

$variable ... ya habras leido en las FAQ's que le puedes entrar por cualquier medio .. sea GET/POST .. o confundirse con una variable de session/cookie o cualquier otra ..

Si usas register_globals a ON y lees $_SESSION['variable'] .. solo leeras ese Array y no será una variable GLOBAL .. como si intentases pasarle $variable por GET ..

Si aun tienes dudas .. Pruebalo

haz un:
Código PHP:
<?
session_start
();
echo 
$variable;
echo 
$_SESSION['variable'];
?>
(previamente guardate una variable de session .. mismo nombre y pasale esa variable por get tal q un link: pagina.php?variable=valor)

El hecho de no asumir globales ninguna variable es en lo que php se basa en evitar que una variable pasada a un script por un metodo cualquiera .. suplante el valor de la misma variable u otras de otro metodo esperado.

Si usas register_globals a ON .. mientras q la version de PHP soporte los arrays superglobales q usaras ($_xxx disponible desde la version 4.1.x en adelante) ... no tendras problemas en usar de forma segura tu aplicacion tanto en register globals a ON como a OFF .. siendo mas segura si cabe si lo usas a OFF.


Un saludo,
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 07:14.