Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/12/2006, 02:22
jemarquesini
 
Fecha de Ingreso: noviembre-2006
Mensajes: 102
Antigüedad: 17 años, 5 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