php - standard - ¿Por qué la sesión estándar tiene una duración de 24 minutos(1440 segundos)?
session php ini (2)
1440 se usa en un cálculo de tiempo convirtiendo segundos en horas / días.
- 1 día = 24 horas (horas * 24 = 1 día)
- día = 1440 minutos (minutos * 60 * 24 = 1 día)
- día = 86400 segundos (segundos * 60 * 1440 = 1 día)
Ejemplo:
9 días [* 60] = 540 [* 1440] = 777600 segundos
Lo mismo es cierto a la inversa:
777600 segundos [/ 1440] = 540 [/ 60] = 9 días
He estado investigando el manejo de la sesión de PHP y encontré el valor de session.gc_maxlifetime de 1440 segundos. Me he estado preguntando por qué el valor estándar es 1440 y cómo se calcula. ¿Cuál es la base de este cálculo?
¿Cuánto tiempo tiene sentido mantener las sesiones? ¿Qué valores mínimos / máximos para session.gc_maxlifetime recomendaría? Cuanto mayor sea el valor, más vulnerable será la aplicación web para el secuestro de sesiones, diría yo.
La respuesta real es probablemente muy similar a esto:
Durante los días PHP3, PHP no tenía soporte de sesión.
Pero una biblioteca de código abierto llamada PHPLIB, inicialmente escrita por Boris Erdmann y Kristian Koehntopp de NetUSE AG, proporcionó sesiones a través del código PHP3.
Las vidas útiles de las sesiones se definieron en minutos , no en segundos. Y la duración predeterminada fue de 1440 minutos, o exactamente un día. Aquí está la línea de código de PHPLIB:
var $gc_time = 1440; ## Purge all session data older than 1440 minutes.
Sascha Schumann participó en el proyecto PHPLIB durante el período comprendido entre 1998 y 2000. No cabe duda de que estaba familiarizado con el código de sesión de PHP3.
Luego PHP4 salió en el año 2000 con soporte de sesión nativo, pero ahora la duración se especificó en segundos.
Apuesto a que alguien nunca se molestó en convertir minutos a segundos. Es probable que esa persona fuera Sascha Schumann. Una vez que lo codificó en el motor Zend, también se convirtió en el valor predeterminado de configuración ( php.ini
).