Laboratorio: controlar el tiempo de sesión con PHP
Una de las cuestiones que hay que tener en cuenta por temas de seguridad es controlar el tiempo en el que está activa la sesión. Por ejemplo, para evitar que una persona olvide “desconectarse” y otro aproveche su usuario cuando no esté.
Las sesiones en PHP se controlan con la variable $_SESION, que es un array que contiene las variables de sesión. En nuestro caso, comprobaremos si existe una variabla de sesión que contenga el ID de sesión, si la hay, se recupera el tiempo en el que empezó la sesión (un timestamp) y se comprueba si ha pasado el tiempo máximo de sesión activa (en nuestro ejemplo 1 minuto), si ha sobrepasado el tiempo, se borran los datos de la sesión.
Una vez comprobada si la sesión debe seguir activa, se comprueba si sigue existiendo la sesión (vamos, que si no hemos acabado con ella), miramos si se ha pedido crear la sesión, por ejemplo cuando nos hemos logueado, en este caso, nos creamos las dos variables de sesión: el id y el timestamp.
<?php
// Inciamos la sesión
session_start();
?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"xhtml1-transitional.dtd">
<html>
<head>
<title>Sentido Web - Sessiones</title>
</head>
<body>
<p>
<?php
// Primero miramos si la sesión es válida
// Cuando el tiempo que lleva activa sea menor que 1 minuto
if (isset($_SESSION["ID_SESSION"])) {
$antes = $_SESSION["SESION_TIME"];
// Si lleva más de 1 minuto (60 segundos)
if (time()-$antes > 60) {
// Libramos la sesion
session_unset();
session_destroy();
echo 'Finalizó la sesión. <br/>';
}
}
// Si ya hay sesión lo indicamos
if (isset($_SESSION["ID_SESSION"])) {
?>
Hay SESIÓN (<?php echo $_SESSION["ID_SESSION"]; ?>)
<?php
// Si no hay sesión
} else {
// Si se ha pedido la creación de una sesion
if (isset($_GET["accion"])) {
// se quiere crear una sesion
// Se crea la variable de sesion id de sesion
// y tiempo en el que empieza la sesion
if ($_GET["accion"] == "1") {
$_SESSION["ID_SESSION"] = "ID".rand();
$_SESSION["SESION_TIME"] = time();
?>
Has creado la sesión <?php echo $_SESSION["ID_SESSION"]. " " .$_SESSION["SESION_TIME"]; ?>
<?php
// No se quiere crear la sesión
} else {
?>
No has querido crear sesión.
<?php
}
// No hay sesión, se avisa y
// se pregunta si se quiere crear una
} else {
?>
No hay SESIÓN. ¿Quiere crear una?
<input type="button" value="SI" onclick="document.location='sesion.php?accion=1'" />
<input type="button" value="NO" onclick="document.location='sesion.php?accion=0'" />
<?php
}
}
?>
</p>
</body>
</html>
La respuesta de Microsoft a Google Analytics
Microsoft parece que quiere competir con Google Analytics haciendo una gran inversión en la empresa de estadÃsticas web DeepMetrix. Microsoft incluirá este servicio en la mayorÃa los sitios que dispone (Microsoft AdCenter, Internet Search, Office Live y MSN Spaces). Aunque en ningún momento hablan de Google, da la impresión de que su finalidad es luchar contra Google Analytics, claro, que lo bueno de Google Analytics es poder incluirlo en tu propio sitio, sin depender quién es el proveedor, claro, eso si tienes o puedes acceder a una cuenta.
VÃa / Download Squad
AJAX paso a paso: Información de imágenes
AJAX tiene muchas utilidades, y aunque a veces se abusa de ello, siempre nos puede dar agilidad a la hora de cargar la página, vamos a mostrar un caso de cómo cargar datos nuevos en la página una vez se haya finalizado la carga de la página en sÃ. Para ello, un ejemplo que nos viene perfecto es una galerÃa de imágenes y cargar los datos de cada imágen de forma asÃncrona, que puede ser costoso si se carga la página con los datos de las imágenes y que el usuario tenga que esperar a esta información, cuando es posible que no le interese. A parte, explicaremos otro tipo de método de recibir datos, esta vez mediante el método POST y un XML.
Nuevas ‘referencias’ para AdSense
Google ha ampliado sus “referencias” de AdSense, y ahora no solo podremos obtener beneficios si conseguimos que la gente se baje Firefox con la barra de herramientas de Google, sino también si conseguimos que se instalen Picasa y Google Pack, obteniendo 2$ por cada usuario que se instale Google Pack y 1$ por Picasa.
New referrals for Google Pack and Picasa
VÃa / Download Squad
links for 2006-05-09
-
Los jueces británicos han determinado que Apple Computer, la empresa que lanzó la tienda de música ‘on line’ iTunes, no infringe ningún derecho de marca en el negocio de la venta de canciones por la Red. Gana asà una demanda que interpuso contra ella
-
El viernes 30 de Junio (tarde) y sabado 1 de Julio (mañana) es la fecha que nos ha asignado el COIT para impartir un Curso de Ruby On Rails en Valencia…
Dominios .es a 1 euro para empresas y autónomos
Para conmemorar el dÃa de Internet (17 de mayo) hasta el 30 de junio, Red.es (empresa del Ministerio de Industria, Turismo y Comercio) permitirá que cualquier empresa o autónomo pueda registrar por 1 euro un máximo de 3 dominios .es del tipo: www.nombredetuempresa.es
Con el fin de asegurar que esta promoción es utilizada en exclusiva por las empresas españolas y profesionales autónomos, los interesados deberán remitir a Red.es, según el procedimiento establecido en la página web www.red.es/dominios1euro y en el plazo de 1 MES desde el registro efectivo la documentación acreditativa de la actividad empresarial.
Quedan excluidos los dominios con caracteres multilingües (ñ, ó…). Tampoco se podrán registrar al estar reservados:
- Denominaciones de órganos constitucionales y otras instituciones del Estado.
- Topónimos correspondientes a las administraciones públicas territoriales.
- TerminologÃa básica de Internet.
VÃa / El Navegante
Ajax paso a paso: ‘Hola Mundo’
Vamos a empezar con una serie de tutoriales sobre AJAX con ejemplos prácticos, menos este que es el tÃpico “Hola Mundo”. Antes de nada es necesario que conozcáis algo sobre AJAX y nada mejor que la lista que os pasamos hace tiempo: Recursos AJAX para principiantes.
Skype prepara sus móviles con wi-fi
Skype prepara el lanzamiento de sus teléfonos móviles con wi-fi, que permitirán a los usuarios a usar sus servicios sin la necesidad de conectarse a Internet mediante un PC, siempre que se encuentre en una zona con acceso a Internet mediante wifi.
A parte, aprovechando los nuevos teléfonos 3G, quiere extender su negocio y llegar a acuerdos sin exclusividad con las operadoras de telefonÃa móvil para que se pueda utilizar los servicios de la telefonÃa por Internet. Aunque, personalmente, no veo esto muy sencillo, porque a mà me sale más barato llamar a EE.UU. con SkypeOut que llamar a una persona en España con distinta operadora que la mÃa.
Skype ultima el lanzamiento de sus primeros móviles con wi-fi
VÃa / Fresqui