Foros del Web » Programando para Internet » PHP »

Venatajas de usar sesiones y no usar variables globales

Estas en el tema de Venatajas de usar sesiones y no usar variables globales en el foro de PHP en Foros del Web. hola a todos, quisiera saber si alguien me podría decir las ventajas de usar sesiones en una aplicacion web con php y a su vez ...
  #1 (permalink)  
Antiguo 04/02/2006, 07:45
 
Fecha de Ingreso: noviembre-2002
Mensajes: 198
Antigüedad: 15 años, 1 mes
Puntos: 0
Venatajas de usar sesiones y no usar variables globales

hola a todos, quisiera saber si alguien me podría decir las ventajas de usar sesiones en una aplicacion web con php y a su vez las ventajas de no usar variables globales para transmitir información.

gracias!!!
  #2 (permalink)  
Antiguo 04/02/2006, 10:57
Avatar de levhita  
Fecha de Ingreso: febrero-2006
Ubicación: Guadalajara, México
Mensajes: 88
Antigüedad: 11 años, 10 meses
Puntos: 0
Estas hablando de dos cosas distintas que se utilizan para cosas distintas.

La sesión se utiliza para pasar valores de una ejecución a otra de los scripts, y es una variable superglobal, es decir, siempre esta presente y con la información que hallas puesto en ella (asumiendo que pongas session_start en tu archivo de cabecera).

Las variables globales son simplementen para estas existan en todas las funciones y procedimientos de tu programa y se destruyen tan pronto se termina la ejecución de un script.

Hay personas que al inicio de todos los scripts sacan toda la información del usuario de la variable $_SESSION y la ponen en variables globales individuales, para ahorrarse algo de escritura me imagino.

La verdad es que esto no cambia nada y sólo gastas tiempo de procesador, tal vez si quieres escribir menos una simple función que obtenga el valor desde la sesión funcione mejor para ahorrar escritura de código.(algo como ses('variable')).

Pero la verdad es que sólo vas a hacer pedacitos tu script.

Tambien suele suceder que bajo ciertas configuraciones el mismo php es el que da de alta estas variables globales, sin embargo de esa manera te quedas sin la posibilidad de saber realmente de donde llegaron esas variables ($_POST, $_GET, $_SESSION o incluso $_COOKIE).

Tu nunca debes de hacer tus scripts esperando que PHP haga esto, ya que puede que alguien te envie nombres de variables de sesión válidas por el url y tú puedes confundirlas.

Como en todo lenguaje de programación simplemente nunca uses variables sin inicializar.

Como tu pregunta es algo ambigua trate de cubirlo todo, si te quedan dudas solo sigue preguntando.
__________________
"La libertad viene en paquetes pequeños, usualmente TCP/IP"
http://blog.levhita.net/
  #3 (permalink)  
Antiguo 06/02/2006, 13:22
 
Fecha de Ingreso: noviembre-2002
Mensajes: 198
Antigüedad: 15 años, 1 mes
Puntos: 0
Muchas gracias, creo que no me he expresado bien. Lo que yo quier saber son la ventajas que presenta usar sesiones en lugar de cookies. Y por otro lado independiente he leido por ahi que no conviene instalar php con las variables globales on ¿?? porque no conviene???
  #4 (permalink)  
Antiguo 06/02/2006, 13:26
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 13 años, 9 meses
Puntos: 0
pero pero.. las variables globlales no se pasaban por el array $_SESSION
voy a tener que buscar ejemplos que estoy perdido :(
  #5 (permalink)  
Antiguo 06/02/2006, 13:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por cyborg
pero pero.. las variables globlales no se pasaban por el array $_SESSION
voy a tener que buscar ejemplos que estoy perdido :(
$_SESSION .. al igual que $_COOKIE .. o $_POST por ejemplo son lo que llaman "variables superglobales" .. nada que ver con lo que sería una definición de variable como "global" que se usa mucho en funciones por ejemplo:

Código PHP:
$a="valor";
function 
nose(){
global 
$a;
echo 
$a;

El hecho de hablar de "global" .. "superglobal" y demás se refiere al "ambito" (scope que llaman en ingles) de las variables.


Un saludo,
  #6 (permalink)  
Antiguo 06/02/2006, 13:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Lo que yo quier saber son la ventajas que presenta usar sesiones en lugar de cookies.
Las cookies se almacenan en el cliente .. las sesiones permanecen en el servidor. Sólo con esa pequeña definición ya podrás ver algunas venjas por ejemplo de las sesiones. El hecho de que tus variables no viajen al "cliente" en ningún caso hace que sean seguras de por sí y no sean alteradas ni "capturado" su valor por el "camino" (entre cliente y servidor).

Sin embargo la vida de una variable de sesión suele ser por el tiempo que el usuario (o así se suelen configurar) está en tu aplicación . .no son para que gestiones datos que usará el usuario en posteriores visitas a tus páginas .. para eso es recomendable usar cookies que para esto están diseñadas con un tiempo de vida (expiración) controlado y demás.

Cita:
Y por otro lado independiente he leido por ahi que no conviene instalar php con las variables globales on ¿?? porque no conviene???
Esta FAQ lo detalla:
http://www.forosdelweb.com/showthrea...989#post238989

Y algo más completo .. estos documentos:
http://phpsec.org/projects/guide/
http://www.acros.si/papers/session_fixation.pdf


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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:48.