Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/06/2004, 12:09
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Bueno .. si quieren salir de dudas pueden probar a desactivar el caché:

En la función header() tienen las cabeceras "no-caché" adecuadas para tal fin:
www.php.net/header

Pero, el problema es que en las páginas que redireccionas las tienes "libres" (si accedes por el URL directo también entrarías ..)

Es decir .. "tienes una puerta con un enorme candado y su llave .. pero no hay "muros" que eviten que pase rodeando la puerta .." (hoy me puse filosófico xDD).

El hecho de usar cookies o sesiones es para que estas las crees en el momento que autentificas a tu usuario correctamente (es válido) y de ahí a las N páginas que requieran autentificación (haber pasado por tu "login.php") tienen que verificar -siempre- la existencia de esas variables en tus cookies o sesiones.

Ejemplo básico (usando sesiones .. se asume propagaciónd el SID por cookies ..):

tu login.php:
Código PHP:
<?
if( $_POST['usuario']=="pepe" && $_POST['pass']=="yo"){
   
session_start();
   
// creo la variable de sesión .. 
   
$_SESSION['usuario']=$_POST['usuario'];
   
header ("Location: pagina_restringida.php");
   exit;

?>
// resto de pagina y tu formulario ..
Y en tu pagina_restringida.php
Código PHP:
<?
session_start
();
if (!isset(
$_SESSION['usuario'])){
   
// Si no existe la variable de sesión .. lo redirecciono al login.php    
    
header ("location: login.php");
    exit;
}
// resto de tu actual página ..
Un saludo,