Foros del Web » Programando para Internet » PHP »

Como evitar volver a delante en el navegador

Estas en el tema de Como evitar volver a delante en el navegador en el foro de PHP en Foros del Web. hola: tengo un problemita . tengo una pag donde se entra el login y el pass y accedes a otra pero si en el navegador ...
  #1 (permalink)  
Antiguo 24/06/2004, 08:23
 
Fecha de Ingreso: junio-2004
Mensajes: 12
Antigüedad: 19 años, 10 meses
Puntos: 0
Como evitar volver a delante en el navegador

hola:

tengo un problemita .
tengo una pag donde se entra el login y el pass y accedes a otra pero si en el navegador le doy a atras vuelvo a la del login, y si a esta le doy adelante entra en la otra sin pedir usuario y contraseña.


que puedo hacer para evita esto

Última edición por paolomaledeto; 24/06/2004 a las 08:25 Razón: para arreglar el titulo
  #2 (permalink)  
Antiguo 24/06/2004, 09:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y que sistema de "login" y sobre todo "seguimento" de tus usuarios usas? .. cookies/ sesiones .. nada?.

La solución no es desactivar "botones" del navegador sino la e controlar mejor el tiempo de expiración de tus sesiones o cookies que uses (si es que las usas ..)

Un saludo,
  #3 (permalink)  
Antiguo 24/06/2004, 09:14
 
Fecha de Ingreso: junio-2004
Mensajes: 12
Antigüedad: 19 años, 10 meses
Puntos: 0
hola aqui te mando lo que tengo hecho:

<?php
$Usuario=$_POST['user'];
$Contrasena=$_POST['pass'];
$fich = file("pass.txt");
$i=0; $validado=false;
while ($fich[$i] && !$validado)
{
$campo = explode("/",$fich[$i]);
if (($Usuario==$campo[0]) && ($Contrasena==chop($campo[1]))) $validado=true;
$i++;
}

if (!$validado)

{

header('Location: administrador1.php' );

}
else
{
header('Location: Noticianueva.php' );

}

?>


saludos
paolo
  #4 (permalink)  
Antiguo 24/06/2004, 09:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tienes que usar algún sistema de cookies o sesiones .. para crear tus variables de sesió o cookie cuando autentifiques al usuario y desde ahí seguir con tu script .. lo mismo debes validar la existencia de esas cookies/sesiones en las páginas que redireccionas que "se supone" que tendrán que haber pasado por tus rutinas de autentificación.

Un saludo,
  #5 (permalink)  
Antiguo 24/06/2004, 09:35
 
Fecha de Ingreso: junio-2004
Mensajes: 12
Antigüedad: 19 años, 10 meses
Puntos: 0
ok,grcias amigo,me pondris algun ejemplo
  #6 (permalink)  
Antiguo 24/06/2004, 10:37
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
yo creo que lo que hace es que muestra la página cacheada por el navegador. ¿Eso se puede evitar realmente? porque yo creo que el explorer almacena la página en html y al darle hacia adelante no hace verdaderamente la llamada a la página sino que muestra lo que tiene en caché.
__________________
¿Te apasiona el mundo del guión? El portal del guión

Última edición por living; 24/06/2004 a las 10:39
  #7 (permalink)  
Antiguo 24/06/2004, 12:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 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,
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 22:09.