Foros del Web » Programando para Internet » PHP »

como impedir retroceso de una pag web a otra?

Estas en el tema de como impedir retroceso de una pag web a otra? en el foro de PHP en Foros del Web. Hola amigos tengo el siguiente problema aver si me podeir ayudar ... Cuando un usuario se Logea, en mi pag, se le manda a una ...
  #1 (permalink)  
Antiguo 12/07/2008, 06:49
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
como impedir retroceso de una pag web a otra?

Hola amigos tengo el siguiente problema aver si me podeir ayudar ...
Cuando un usuario se Logea, en mi pag, se le manda a una pagina.html, en la cual tiene acceso a descargas y demas, pero ese usuario podria copiar la URL de dicha pagina y entrar todas las veces que quiera sin registrarse e incluso podria publicarla y que todo el mundo entrase ¿De que forma se podria solucionar eso, para que cuando copie la Url e intente entrar le vuelva a pedir el user y el pass?
Espero que me solucieneis mi problema
Cuidense
SALUDOS
  #2 (permalink)  
Antiguo 12/07/2008, 08:38
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: como impedir retroceso de una pag web a otra?

Que tal winjose, mira este link parte de lo que necesitas esta explicado.

http://www.forosdelweb.com/f18/aport...aporte-561417/


Saludos.
  #3 (permalink)  
Antiguo 12/07/2008, 08:52
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: como impedir retroceso de una pag web a otra?

Lo acabo de leer, y habia alguien que pedia como hacer para proteger solo una seccion de su pag en vez de proteger la web entera y le respondio que deberia poner esto
----------------------------------------------------------
<?
session_start();
if(!isset($_SESSION['s_username']))header("location: entrar.html");
?>
---------------------------------------------------------
Eso lo deberia poner en vez de esto otro no?
----------------------------------------------------------
<?
session_start();
if(!isset($_SESSION['s_username'])){
header("location: entra.html");
} else {
session_unset();
session_destroy();
header("location: index.php");
}
?>

-------------------------------

Última edición por winjose; 12/07/2008 a las 09:03
  #4 (permalink)  
Antiguo 12/07/2008, 09:01
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: como impedir retroceso de una pag web a otra?

No winjose, me refiero a esta parte del código, sunpongo que ya se habrá autenticado el usuario y has comprobado sus datos en la BD, al principio de cada página que consideres privada como tu página de descargar validas que el usuario se haya autenticado.
Código PHP:
<?php 
session_start
(); // recuerda de ponerlo siempre al principio de cada página 
if(!isset($_SESSION['s_username'])){  
echo 
"No estas logeado.<a href='entra.html'>Clic qui para logearse</a> o <a href='rg.html'>para registrase</a>"
} else {  
echo 
"Hola ".$_SESSION['s_username'];  
echo 
"<br><a href='salir.php'>Salir</a>"
}  
?>
Saludos.
  #5 (permalink)  
Antiguo 13/07/2008, 09:05
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: como impedir retroceso de una pag web a otra?

Cita:
Iniciado por Carlojas Ver Mensaje
No winjose, me refiero a esta parte del código, sunpongo que ya se habrá autenticado el usuario y has comprobado sus datos en la BD, al principio de cada página que consideres privada como tu página de descargar validas que el usuario se haya autenticado.
Código PHP:
<?php 
session_start
(); // recuerda de ponerlo siempre al principio de cada página 
if(!isset($_SESSION['s_username'])){  
echo 
"No estas logeado.<a href='entra.html'>Clic qui para logearse</a> o <a href='rg.html'>para registrase</a>"
} else {  
echo 
"Hola ".$_SESSION['s_username'];  
echo 
"<br><a href='salir.php'>Salir</a>"
}  
?>
Saludos.
Amigo lo hize todo bien, incluse puese eso .. Pero me sale esto en la pagina :

Clic qui para logearse o para registrase"; } else { echo "Hola ".$_SESSION['s_username']; echo "
Salir"; } ?>

De ahí hay cosas que no deberian salir no?
  #6 (permalink)  
Antiguo 13/07/2008, 11:44
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: como impedir retroceso de una pag web a otra?

winjose:
Tu preocupacion es valida y muy importante.
Ese script protege la entrada unicamente y es excelente y talvez uno de
los mas innovadores aportes que hay en foros del web.
Sin embargo, le hace falta la proteccion a todas tus paginas una vez el usuario haya ingresado.
Y requiere de utilizar
session_regenerate_id();
Y captura del:
$HTTP_USER_AGENT
$REMOTE_ADDR
Esto es necesario no solo cuando se ingresa
sino que cuando el usuaro sale, navega por otros
sitios y vuelve a ingresar.
Y lo mas importante es que cada archivo php que visite
el usuario se debe hacer un chequeo de que es
el mismo User_agent y la misma Remote_addr o IP
que ha ingresado; de esa manera jamas podra un Hacker,
ni saber la ID de session vigente ni secuestrar la sesion ni
podra entrar con otro navegador ni podra entrar desde otra
IP.
Saludos
Y espero te ayude
franco
  #7 (permalink)  
Antiguo 13/07/2008, 14:39
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: como impedir retroceso de una pag web a otra?

gracias franco 190453 por tu respuesta pero yo lo unico que os pido por favor es que me resolvais esa simple dudilla... es decir yo puse el code anterior para que cuando un user intente entrar en una pagina esta le pida su user y pass, puse el codigo al principio de mi pagina a proteger, pero al verla por browser se ve esto:

Clic qui para logearse o para registrase"; } else { echo "Hola ".$_SESSION['s_username']; echo "
Salir"; } ?>

Y la pagina tambien se ve que no se deberia ver claro!!

Informacion adicional: ya tengo creada la base de datos, todos los codigos php osea todo lo tengo listo y funcionando, para cuando un usuario intente entrar le pida el usser y el pass pro yo querría un codigo, para cuando un visitante entre e intente ver una pagina en concreta, ésta le requiera un nombre de usuario y un pass

O aun mas facil, lo unico que quiero por favor es que un usuario una vez logueado, Si sale de la pagina cuando intente volver a entrar se le pida de nuevo el usser y el pass, así cuando copie la URL no podra entrar directamente en la pagina porque esta le volvera a pedir los datos.
Desde ya gracias a quien lo lea
MUchisimassss Gracias a quien me pueda ayudar
Cuidense
Saludos
  #8 (permalink)  
Antiguo 13/07/2008, 14:41
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: como impedir retroceso de una pag web a otra?

Cita:
Iniciado por winjose Ver Mensaje
gracias franco 190453 por tu respuesta pero yo lo unico que os pido por favor es que me resolvais esa simple dudilla... es decir yo puse el code anterior para que cuando un user intente entrar en una pagina esta le pida su user y pass, puse el codigo al principio de mi pagina a proteger, pero al verla por browser se ve esto:

Clic qui para logearse o para registrase"; } else { echo "Hola ".$_SESSION['s_username']; echo "
Salir"; } ?>

Y la pagina tambien se ve que no se deberia ver claro!!

Informacion adicional: ya tengo creada la base de datos, todos los codigos php osea todo lo tengo listo y funcionando, para cuando un usuario intente entrar le pida el usser y el pass pro yo querría un codigo, para cuando un visitante entre e intente ver una pagina en concreta, ésta le requiera un nombre de usuario y un pass

O aun mas facil, lo unico que quiero por favor es que un usuario una vez logueado, Si sale de la pagina cuando intente volver a entrar se le pida de nuevo el usser y el pass, así cuando copie la URL no podra entrar directamente en la pagina porque esta le volvera a pedir los datos.
Desde ya gracias a quien lo lea
MUchisimassss Gracias a quien me pueda ayudar
Cuidense
Saludos
¿Me podriais decir cual es el codigo del $sesion_destroy Osea que cuando un usser salga de la pagina se le termine la sesion y para cuando intente entrar de nuevo se le pida los datos ?

Creo que eso resolvera mi rpoblema
gracias de nuevo
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 10:46.