cierre.de.session.al.cerrar.navegador

3
7/18/2019 Cierre.de.Session.al.Cerrar.navegador http://slidepdf.com/reader/full/cierredesessionalcerrarnavegador 1/3  Buscar  Portada Monotematicos Secciones Bloging Comunidad Wiki RSS Usuarios: Login | Registro DesarrolloWeb.com > Manuales > Sistema de autentificación PHP Cierre de sesión al cerrar el navegador en PHP Código en PHP para cerrar sesiones cuando se cierra el navegador. Por Eugenia Bahit   Atención: Contenido exclusivo de Des arrolloWeb.com. No reproducir. Copyright. Introducción Mucho más sencillo de lo que uno imagina, es hacer que una sesión caduque en forma automática cuando el usuario cierre el navegador. En principio, vamos a definir a que nos referimos con cerrar el navegador. El servidor entenderá que el usuario cerró el navegador cuando ya no se encuentre visitando ninguna de las p áginas de nuestro sitio. Es decir, si un usuario que para navegar nuestro sitio abrió al menos 2 pá ginas en 2 ventanas diferentes, el servidor considerará que cerró el navegador cuando hasta l a última ventana sea abandonada. Ya sea porque el usuario la cerró o porque fue hacia otro sitio q ue no es el nuestro. Entonces, para que la sesión caduque a l cerrar el navegador, habrá que, por un lado, forzar al php.ini a que propague la sesión solamente en cookies y por otro lad o, asignarle a ésta, una duración cero. Para forzar al php.ini hay dos formas: modificar el php.ini directamente o cambiar los valores desde nuestro script. Opción 1 Configurar el archivo de inicio de php (php.ini) en forma directa. Si tienes acceso a este archivo, habrá que buscar y cambiar el valor a: session.use_trans_sid = 0 session.use_only_cookies = 1 Esta última, justamente será la que indicará que la sesión debe propagarse solo a través de cookies. Opción 2 Cambiar la configuración del php.ini desde nuestro script p hp. Esta opción consiste en forzar al php.ini desde nuestro script php (No todos los servidores tienen habilitada esta opción. Si el servidor no es propio, por las dudas, consulta con tu proveedor). Para hacerlo, utilizaremos la función ini_set() ini_set("session.use_trans_sid","0"); ini_set("session.use_only_cookies","1"); Ahora solo restará, cambiar el parámetro de duración a la cookie de la sesión. Esto lo haremos en nuestro script con la siguiente instrucción: session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0); Con lo cual estaremos indicando una duración de 0 (cero) segundos. Esto significará que d urará hasta que termine el script. Por fin, hemos llegado al código: Cierre de sesión al cerrar el navegador en PHP: módulo de control de datos Verás reflejados los cambios al script anterior, indicados en negritas. Estos cambios serán también los que se apliquen al módulo de seguridad. De todas formas, aquí te cargo los dos códigos. <? //si es necesario cambiar la config. del php.ini desde tu script ini_set("session.use_only_cookies","1"); ini_set("session.use_trans_sid","0"); //vemos si el usuario y contraseña es váildo if ($_POST["usuario"]=="miguel" && $_POST["contrasena"]=="qwerty"){ //usuario y contraseña válidos session_name("loginUsuario"); Manuales relacionados Sistema de autentificación PHP (10 artículos) Categorias relacionadas Scripts en PHP El autor Eugenia Bahit Desarrolladora ASP y PHP Lectura recomendada PHP Compra este libro en Agapea, la librería urgente a domicilio. Últimas noticias El mayor disco duro del mundo SATA Caviar Green de WD se convierte en el disco duro tradicional con la mayor capacidad... MySpace: cambios y novedades La plataforma social que llegó a ser líder de las redes sociales ofrece un nuevo cambio de... Firefox 4 justifica su retraso con novedades La Fundación Mozilla no presentará la próxima versión de su navegador hasta primeros del... LLega Google Places Search Google ofrece una nueva característica con la que organizar de forma más eficaz los... Donaciones Si piensas que te hemos ayudado y merecemos tu apoyo económico...  Alojados en el grupo Anuncios Google PHP PHP Course Manual De PHP Curso PHP 5 10 de junio de 2005 Compartir en redes sociales 0 votos Valoración del artículo: Enviar un comentario Ver comentarios del artículo (5)  Ver el índice del manual Descargar el manual Page 1 of 3 Cierre de sesión al cerrar el navegador en PHP 02/11/2010 http://desarrolloweb.com/articulos/2022.php

Upload: vaibhavrulzthisworld

Post on 02-Mar-2016

368 views

Category:

Documents


0 download

TRANSCRIPT

7/18/2019 Cierre.de.Session.al.Cerrar.navegador

http://slidepdf.com/reader/full/cierredesessionalcerrarnavegador 1/3

  Buscar  

Portada Monotematicos Secciones Bloging Comunidad Wiki RSS Usuarios: Login | Registro 

DesarrolloWeb.com > Manuales > Sistema de autentificación PHP 

Cierre de sesión al cerrar el navegador en PHP

Código en PHP para cerrar sesiones cuando se

cierra el navegador.

Por Eugenia Bahit  

 Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir.

Copyright.

Introducción 

Mucho más sencillo de lo que uno imagina, es hacer que una sesión

caduque en forma automática cuando el usuario cierre el navegador.

En principio, vamos a definir a que nos referimos con cerrar el

navegador.El servidor entenderá que el usuario cerró el navegador cuando ya

no se encuentre visitando ninguna de las páginas de nuestro sitio.

Es decir, si un usuario que para navegar nuestro sitio abrió al menos 2 páginas en 2 ventanas diferentes, el servidor

considerará que cerró el navegador cuando hasta la última ventana sea abandonada. Ya sea porque el usuario la cerró

o porque fue hacia otro sitio que no es el nuestro.

Entonces, para que la sesión caduque a l cerrar el navegador, habrá que, por un lado, forzar al php.ini a que propague

la sesión solamente en cookies y por otro lado, asignarle a ésta, una duración cero.

Para forzar al php.ini hay dos formas: modificar el php.ini directamente o cambiar los valores desde nuestro script.

Opción 1

Configurar el archivo de inicio de php (php.ini) en forma directa.

Si tienes acceso a este archivo, habrá que buscar y cambiar el valor a:

session.use_trans_sid = 0

session.use_only_cookies = 1

Esta última, justamente será la que indicará que la sesión debe propagarse solo a través de cookies.

Opción 2

Cambiar la configuración del php.ini desde nuestro script php.

Esta opción consiste en forzar al php.ini desde nuestro script php (No todos los servidores tienen habilitada esta opción.

Si el servidor no es propio, por las dudas, consulta con tu proveedor).

Para hacerlo, utilizaremos la función ini_set()

ini_set("session.use_trans_sid","0");

ini_set("session.use_only_cookies","1");

Ahora solo restará, cambiar el parámetro de duración a la cookie de la sesión. Esto lo haremos en nuestro script con la

siguiente instrucción:

session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0); Con lo cual estaremos indicando una

duración de 0 (cero) segundos. Esto significará que durará hasta que termine el script.

Por fin, hemos llegado al código:

Cierre de sesión al cerrar el navegador en PHP: módulo de control de datos 

Verás reflejados los cambios al script anterior, indicados en negritas. Estos cambios serán también los que se apliquen

al módulo de seguridad. De todas formas, aquí te cargo los dos códigos.

<?

//si es necesario cambiar la config. del php.ini desde tu script

ini_set("session.use_only_cookies","1");

ini_set("session.use_trans_sid","0");

//vemos si el usuario y contraseña es váildo

if ($_POST["usuario"]=="miguel" && $_POST["contrasena"]=="qwerty"){

//usuario y contraseña válidos

session_name("loginUsuario");

Manuales relacionados

Sistema de autentificación PHP (10 artículos)

Categorias relacionadas

Scripts en PHP

El autor

Eugenia Bahit Desarrolladora ASP y PHP

Lectura recomendada 

PHP

Compra este libro en

Agapea, la libreríaurgente a domicilio.

Últimas noticias

El mayor disco duro del mundoSATA Caviar Green de WD se convierte enel disco duro tradicional con la mayorcapacidad...

MySpace: cambios y novedadesLa plataforma social que llegó a ser líderde las redes sociales ofrece un nuevo

cambio de...

Firefox 4 justifica su retraso connovedadesLa Fundación Mozilla no presentará lapróxima versión de su navegador hastaprimeros del...

LLega Google Places SearchGoogle ofrece una nueva característicacon la que organizar de forma más eficazlos...

Donaciones

Si piensas que te hemos ayudado ymerecemos tu apoyo económico...

 Alojados en el grupo

Anuncios Google PHP  PHP Course  Manual De PHP  Curso PHP 5 

10 de junio de 2005

Compartir en redes sociales 0 votos

Valoración del artículo: Enviar un comentario 

Ver comentarios del artículo (5)

 Ver el índice del manual 

Descargar el manual 

Page 1 of 3Cierre de sesión al cerrar el navegador en PHP

02/11/2010http://desarrolloweb.com/articulos/2022.php

7/18/2019 Cierre.de.Session.al.Cerrar.navegador

http://slidepdf.com/reader/full/cierredesessionalcerrarnavegador 2/3

//asigno un nombre a la sesión para poder guardar diferentes datos

session_start();

// inicio la sesión

session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);

//cambiamos la duración a la cookie de la sesión 

$_SESSION["autentificado"]= "SI";

//defino la sesión que demuestra que el usuario está autorizado

$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");

//defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss

header ("Location: aplicacion.php");

}else {

//si no existe le mando otra vez a la portada

header("Location: index.php?errorusuario=si");

}

?> 

Cierre de sesión al cerrar el navegador en PHP: módulo de control de datos 

Verás reflejados los cambios al script anterior, indicados en negritas.

<?

//si es necesario cambiar la config. del php.ini desde tu script

ini_set("session.use_only_cookies","1");

ini_set("session.use_trans_sid","0");  

//iniciamos la sesión

session_name("loginUsuario");

session_start();

session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);

//cambiamos la duración a la cookie de la sesión 

//antes de hacer los cálculos, compruebo que el usuario está logueado

//utilizamos el mismo script que antes

if ($_SESSION["autentificado"] != "SI") {

//si no está logueado lo envío a la página de autentificación

header("Location: index.php");

} else {

//sino, calculamos el tiempo transcurrido

$fechaGuardada = $_SESSION["ultimoAcceso"];

$ahora = date("Y-n-j H:i:s");

$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido

if($tiempo_transcurrido >= 600) {

//si pasaron 10 minutos o más

session_destroy(); // destruyo la sesión

header("Location: index.php"); //envío al usuario a la pag. de autenticación

//sino, actualizo la fecha de la sesión

}else {

$_SESSION["ultimoAcceso"] = $ahora;

}

}

?>

MANUAL: Sistema de autentificación PHP

Diferentes formas de cerrar sesión en PHPAutentificación PHP para múltiples usuarios usando

MySQL

Comentarios

 

Secciones principales 

Manuales

FAQs

Programas

Directorio

Scripts

Monotemáticos 

Desde cero

HTML, CSS, Diseño

Javascript, Ajax

ASP, PHP

Promocion, Ganar dinero

Bloging 

Actualidad

Recursos interesantes

Agenda

Comunidad 

Perfiles públicos

Desarrolladores

Vuestras páginas

Registro

Encuestas

Articulos De Golf  Compra En Nuestra Tienda Online Productos Prácticos De Golf Sporthitec.com/Golf 

Venta Material Médico Suministro clinico y hospitalario, Equipamiento Medico. Precios Quirumed.com/MaterialMedico

Curso Diseño Gráfico Aprende ahora Diseño Publicitario: Photo-shop, Illustrator y inDesign. DEUSTOformacion.com/Disen

 Enviar un comentario al artículo

 Enviar un comentario al artículoFueron enviados 5 comentarios al artículo

5 comentarios no revisados 

0 comentarios revisados

Page 2 of 3Cierre de sesión al cerrar el navegador en PHP

02/11/2010http://desarrolloweb.com/articulos/2022.php

7/18/2019 Cierre.de.Session.al.Cerrar.navegador

http://slidepdf.com/reader/full/cierredesessionalcerrarnavegador 3/3

Vídeos

Copyright | Publicidad | Acerca de | Datos legales | Contacta

Page 3 of 3Cierre de sesión al cerrar el navegador en PHP

02/11/2010http://desarrolloweb com/articulos/2022 php