Salir de la aplicación segura en PHP

  • Por
En este capítulo veremos con un sencillo ejemplo como salir de la aplicación de accesi restringido.
La seguridad de la aplicación se basa en la definición de unas variables de sesión que se consultan en cada página segura. Puede ocurrir que el usuario entre en la aplicación e inicie una sesión y que se marche de la aplicación segura sin cerrar la sesión, con lo que quedaría abierta para que cualquier otra persona pueda acceder a la aplicación volviendo por el historial de páginas del navegador.

Las sesiones se finalizan solas cuando pasa un determinado tiempo sin recibir nuevas peticiones, pero no deseamos que antes de que se finalicen se pueda acceder con ese ordenador a nuestra aplicación restringida.

Parece interesante, pues, ofrecer al visitante la opción de acabar la sesión en cualquier momento, para asegurarnos en ese caso que la sesión se ha terminado y no se podrá acceder si no es introduciendo nuevamente el usuario y contraseña correctos.

El archivo en concreto lo único que hace es terminar la sesión asociada a su acceso. Podemos ver el código a continuación.

<?
session_start();
session_destroy();
?>
<html>
<head>
<title>Has salido!!</title>
</head>
<body>
Gracias por tu acceso
<br>
<br>
<a href="index.php">Formulario de autentificación</a>
</body>
</html>

Autor

Miguel Angel Álvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Arkaitz

04/4/2004
Hola, agradezco sinceramente esta informacion. El caso es que todo va bien menos una cosita. Una vez me autentifico no soy redireccionado a la pagina aplicacion sino a la index. Para comprobar si realmente era autentificado o no quite el include de la pagina aplicacion para que se mostrara de todas formas. El caso es que si que me redirecciona y que el problema esta en que no guarda la autentificacion o algo asi porque me manda a index en caso de meter el include. Que puede ser?
Gracias

Fenix

26/10/2005
Tengo un problema, cuando pruebo el sistema en mi servidor locas funciona perfectamente pero cuando lo subo al servicio de hosting no se cierra la sesion y se puede regresar con el historial.

Pajarofeo

17/8/2007
Falta añadir antes de destruir la sesion, destruir las variables:

session_unset();

Por lo demás, esta muy bien explicado, sigue asi...

Un saludo

alfredo

28/2/2009
Muy buen código los felicito, me ha servido mucho
al momento de crear mi sistema en php con la
utilización de sesiones...

Guillermo

19/4/2009
Salir e ir a index.php directamente
con el siguiente codigo en salir.php, vamos directamente a la pagina principal de logueo, index.php, asi evitamos hacer otra pagina mas.<br />
<br />
&lt;?php<br />
session_start();<br />
session_unset();<br />
session_destroy();<br />
header(&quot;Location: index.php&quot;);<br />
exit();<br />
?&gt;<br />
<br />
saludos, muy buena info.

David Ramirez

02/6/2009
serrar sesión no me funciona correctamente.
Primeramente para felicitar y agradecer por el fuerzo de contribuir y ayudar a los novatos en PHP.
Estoy siguiendo esta guía y en este capitulo me he enfrentado con una duda; hago todo lo que dice la guía, ingreso a la web protegida y me pide mi usuario y mi clave, me logueo y recién tengo acceso, luego sierro la sesión y al parecer la sesión se sierra correctamente; pero cuando le doy al botón del navegador para regresar a la página anterior esta aparece sin pedirme mi usuario ni mi clave o si coloco la url de la página protegida ya no me pide mi usuario y mi clave; ¿estoy haciendo algo mal o hay un error en los scripts?.
Espero su ayuda.
Gracias

pedroll

27/8/2009
Salir de la aplicación segura en PHP
En este apartado esta bastante definido, gracias

nakumo

12/11/2009
un pequeño aporte
encontre que se demoraba bastante el modulo de seguridad en redireccionar

asi que lo cambie un poco

les dejo el codigo on un par de milesimas pero se agradecen a veces :)

<?
session_start();
$var = isset ($_SESSION["autentificado"]) ;
if ($var == FALSE) { ?>
<meta http-equiv="refresh" content="0;URL=http://testlinux.atentochile.cl/index.php?errorusuario=noreg">
<!--- include ("http://testlinux.atentochile.cl/index.php?errorusuario=noreg");--->
<? exit(); }
if ($var == TRUE AND $var != "SI") { ?>
<meta http-equiv="refresh" content="0;URL=http://testlinux.atentochile.cl/index.php?errorusuario=noreg">
<!--- include ("http://testlinux.atentochile.cl/index.php?errorusuario=noreg");--->
<? exit(); }
?>

carlos

04/7/2010
gracias me funciona
muchas gracias me funciona de maravilla !!! al 100 % funcional probado el server de pago y free :)

versace123mx_versace

02/9/2010
Exelente
Hola que tal saludos a todos los desarrolladores y un gran saludo a Miguel por su tiempo y dedicacion a este sitio.

Pues solo quiero hacer un comentario, ya que ahora estoy en esto de sesiones en php, con los Video tutoriales de PHP y MySQL del prof Jesus Conde, al igual consulto muchas dudas en los videos o en los manuales de desarrolloweb, asi como sigo un librro llamado fundamentos de PHP de Matt Doyle a un que aveces un poco complicado.

Bueno mi opinion es que hasta este punto esta muy bien estructurada la forma "simple" de como crear un sistema de loggin para nuestro sitio, ya que a un que en otros comentarios, se comentava que si se ponia /aplicacion.php?autentificado=SI o /aplicacion.php/autentificado=SI o /aplicacion.php se podia accesar, creo que Miguel lo resolvio de una forma practica y muy segura, ya que con un solo script donde inicia sesion y comprueba que los valores sean correctos nuevamente, podemos corrobarar que la aplicacion funciono a la perfeccion de como deveria de funcionar, y es una parte muy importante dentro de todos los sistemas web, estar comprobando en cada momento si esta registrado el user para poder realizar operaciones en nuestra aplicacion.....

Dani

02/10/2010
Buena explicación
Muchas gracias por tus explicaciones. Paso a paso y bien claras, aunque me he hecho un pequeño lío con la parte de control.php y seguridad.php, pero nada, resuelto en un momentos.
Gracias

Xavier

05/11/2010
no cierra la sesión
A alguien le ha sucedido que el código de cerrar sesión no le funciona?? Es que una vez que la cierro, cuando entro a la aplicación, sí puedo entrar y se supone que no debería. Tal vez me falte validar algo... el código lo copie todo tal cual.
Espero sus respuestas.

Jorge

04/6/2011
Gracias
Miguel te agradezco enormemente todo el trabajo que haces en este sitio, me ha servido en muchas ocasiones para resolver dudas de todo tipo y con esta sencilla (pero no cabe duda que elaborada) aplicación pude solventar un problema.
Saludos desde Guatemala.

jmba

27/12/2011
ERROR: Al cerrar sesión y presionar atrás vuelve a entrar
Se supone que al pulsar "salir" se destruye la sesión, pero al dar atrás en el navegador, vuelve a entrar a la aplicación, lo cual no debería hacer, debería enviar a la página de "login", pero no lo hace. Por favor pueden ayudar a corregir esto. He estado buscando como resolver esto en la web, pero nada ha resultado. En espera de su amable solución. Gracias

eliz

15/2/2012
comentario
no pues quiero desirle al don que subio la informacion que esta de poca ya que a mi s is me sirvio en muchio

Isa

26/6/2012
ppt
Hola :
al entrar en power point se me abre algo parecido a editix , no puedo abrir el ppt; esto me ha pasado recientemente y no había tenido otras veces problemas¿como puedo abrir de nuevo la aplicación normal de PPT?
Gracias a los que desinteresadamente nos ayudais a las mas analfabetas informaticamente