Foros del Web » Programando para Internet » PHP »

¿cuando acaba una sesion con PHP?

Estas en el tema de ¿cuando acaba una sesion con PHP? en el foro de PHP en Foros del Web. Buenas a todos Estoy programando una pagina en php por vez primera, y me surge esta duda. Por ahi he leido que si uso lo ...
  #1 (permalink)  
Antiguo 07/12/2006, 02:22
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 17 años, 4 meses
Puntos: 1
¿cuando acaba una sesion con PHP?

Buenas a todos

Estoy programando una pagina en php por vez primera, y me surge esta duda.

Por ahi he leido que si uso lo siguiente

pagina1.php
Código PHP:
session_start();
session_register('var'); 
alguien puede usar lo siguiente:
Código:
pagina1.php?var='valor_trampa'
de manera que pueden acceder a esta pagina forzando el valor de la variable var al valor que el usuario quiera

¿Por qué tengo esta duda? Pues porque tengo una pagina donde se inserta el usuario y la contraseña, y, al postear, entra en una pagina que verifica que el usuario y la contraseña son correctas. En mi caso, lo verifico de la siguiente manera:

Entradacontrol.php >>> Control.php >>> Panelcontrol.php

Entradacontrol.php es donde inserto usuario y contraseña.

Control.php verifica que son correctos, de la siguiente manera
Código PHP:
session_start();
session_register('validado');
if (!
$_POST)
{
    
// Lineas que comprueban si usuario y contraseña son correctas
    
If (!$correcto)
    {
         
$_SESSION['validado']=false;
         
header("Location: entradacontrol.php"); //Se redirige a la entrada
    
}else{
         
$_SESSION['validado']=true;
         
header("Location: panelcontrol");
    }

De esta manera, panelcontrol.php comprueba si $_SESSION['validado'] es true o false, con el fin de que nadie pueda acceder al panel de control directamente tecleando panelcontrol.php.

Mi pregunta es: ¿es cutre?¿existe una forma mas clara o profesional de hacer esto?

Y ¿cuando termina una sesion? Porque lo que yo llamo sesion es al tiempo que el usuario está dentro del panel de control, pero si el usuario cambia a otra pagina, y le da a retroceder, sigue abierta la sesion. Esto no pasa por ejemplo cuando se cierra la ventana, ya que lo he implementado de esa manera.

Un saludo y perdon por el tostón
  #2 (permalink)  
Antiguo 07/12/2006, 09:35
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: ¿cuando acaba una sesion con PHP?

Cita:
session_register('var');
No lo uses así. Usá $_SESSION['var'] en vez de eso.

Cita:
pagina1.php?var='valor_trampa'
Únicamente podrías tener este problema si te confiás en register_globals. Si accedés a las variables desde las matrices superglobales (_GET, _POST, _SESSION) no hay problema.

Cita:
¿es cutre?¿existe una forma mas clara o profesional de hacer esto?
Únicamente te falta (no lo mencionás, quizás lo estés haciendo ya) verificar en todas las páginas que quieras 'seguras' si la sesión está abierta y es correcta.

Te recomiendo leer con atención www.php.net/session

Saludos.
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 12:45.