La variable $_SESSION
en PHP es un bloque temporal de memoria asignado a cada usuario específico por separado. Su propósito no es ser seguro, está destinado a almacenar información de la sesión.
Si está pensando en usarlo para almacenar datos de larga duración, o datos que deben cumplir con la tríada de la CIA, le sugiero que analice otra cosa. Existen variables en la configuración de PHP relacionadas con la recolección de basura que pueden afectar el ciclo de vida de los datos de su sesión, pero lo más importante es que todos los datos de la sesión se almacenan en la carpeta / tmp (a menos que se configure lo contrario), por lo que si un atacante obtiene acceso al archivo En el sistema, podrán obtener todo el contenido de la variable $_SESSION
de cada usuario.
En su lugar, puede considerar el almacenamiento de una versión cifrada de todo lo sensible, como se explica aquí
Otra cosa a considerar es anular la forma predeterminada de manejar $_SESSION
, en PHP puede definir su propia funciones de manejo de sesión . Con esto, puede almacenar sus sesiones en una base de datos remota, por ejemplo, agregando una capa adicional de seguridad. Por supuesto, si su sistema de archivos se ve comprometido, las credenciales de inicio de sesión en esa base de datos probablemente también se verán comprometidas, pero al menos es una capa adicional de seguridad.