Cambio del identificador de sesión en PHP

RECU-0591 (Recurso Ejemplo)

Descripción

Una de las medidas para mitigar el secuestro de la sesión es cambiar con frecuencia el identificador de sesión.

Si hacemos esto minimizamos la posibilidad de interceptar un identificador de sesión que sea válido. Se puede utilizar la función session_regenerate_id(). Con esta función podemos regenerar el identificador de la sesión. El cliente simplemente es informado que el identificador de sesión ha cambiado mediante la cabecera HTTP de la respuesta llamada Set-Cookie.

Ejemplos

ini_set('session.use_only_cookies', true);
session_start();

if (!isset($_SESSION['generated']) || $_SESSION['generated'] < (time() - 30)) {
  session_regenerate_id();
  $_SESSION['generated'] = time();
}

Contenidos relacionados

Pautas
Área: Desarrollo » Seguridad » Gestión de Sesiones y Usuarios
Código Título Tipo Carácter
LIBP-0311 Gestión de la sesión Libro de pautas Directriz Obligatoria