Por defecto, PHP incluye soporte de sesiones incorporado. Sin embargo, antes de utilizar sesiones en tu sitio web, debes configurar correctamente PHP utilizando las siguientes directivas en el fichero php.ini según corresponda:
Directiva | Significado |
---|---|
session.use_cookies |
Indica si se deben usar cookies (1) o propagación en la URL (0) para almacenar el SID. |
session.use_only_cookies |
Se debe activar (1) cuando utilizas cookies para almacenar los SID, y además no quieres que se reconozcan los SID que se puedan pasar como parte de la URL (este método se puede usar para usurpar el identificador de otro usuario). |
session.save_handler |
Se utiliza para indicar a PHP cómo debe almacenar los datos de la sesión del usuario. Existen cuatro opciones: en ficheros (files ), en memoria (mm ), en una base de datos SQLite (sqlite ) o utilizando para ello funciones que debe definir el programador (user ). El valor por defecto (files ) funcionará sin problemas en la mayoría de los casos. |
session.name |
Determina el nombre de la cookie que se utilizará para guardar el SID. Su valor por defecto es PHPSESSID . |
session.auto_start |
Su valor por defecto es 0, y en este caso deberás usar la función session_start para gestionar el inicio de las sesiones. Si usas sesiones en el sitio web, puede ser buena idea cambiar su valor a 1 para que PHP active de forma automática el manejo de sesiones. |
session.cookie_lifetime
|
Si utilizas la URL para propagar el SID, éste se perderá cuando cierres tu navegador. Sin embargo, si utilizas cookies, el SID se mantendrá mientras no se destruya la cookie. En su valor por defecto (0), las cookies se destruyen cuando se cierra el navegador. Si quieres que se mantenga el SID durante más tiempo, debes indicar en esta directiva ese tiempo en segundos. |
session.gc_maxlifetime |
Indica el tiempo en segundos que se debe mantener activa la sesión, aunque no haya ninguna actividad por parte del usuario. Su valor por defecto es 1440. Es decir, pasados 24 minutos desde la última actividad por parte del usuario, se cierra su sesión automáticamente. |
La función phpinfo
, de la que ya hablamos con anterioridad, te ofrece información sobre la configuración actual de las directivas de sesión.
