Deprecado
Librería para el manejo, configuración y seguridad de sesiones en PHP.
Permite setear la configuración de las sesiones en tiempo de ejecución cuando no se tiene acceso a modificar directamete las directivas en el archivo php.ini. Los valores que permite modificar son:
- Nombre de session
- Garbage collector
- Algoritmo que utiliza php para generar los IDs de sesion
- Cookies
- Tiempo de vida de una sesion
- Directorio donde se almacenan los archivos de sesion
- Habilitar Memcache para almacenar las sesiones
- Cache
NOTA: Se recomienda, por temas de rendimiento, que si tiene acceso al archivo php.ini modifique en él los datos y no utilice esta clase
La clase \sesy\Session es un wrapper POO para el manejo de las sesiones, con ella podemos desacoplar el uso de las variables de sesion de nuestras clases/funciones mediante dependencias.
- guardar/recuperar/borrar valores en sesion
- inicializar una sesion (cequeando que no este inicializada anteriormente)
- cerrado de sesion, borrado de datos y archivos
- Setear el directorio donde se almacenan los archivos de sesion
- Configurar Memcache como storage de sesion
La clase \sesy\SessionSecure configura de forma automatica las sesiones para que sean seguras previniendo ataques del tipo:
- Session Hijacking
- Session Fixation
- Cross-Site Session Transfer
Ver API
- v1.0.1 stable
- v1.1.0 desarrollo
- PHP 5.4.*
- Memcached deamon (opcional)
- Módulo memcache (opcional)
cd /var/www
git clone [email protected]:mostofreddy/sesy.git
"require": {
"php": ">=5.4.0",
"mostofreddy/sesy": "1.0.*",
}
$sesConfig = new \sesy\SessionConfig();
$sesConfig->name("sesy")
->expire(60)
.....
->gc();
Setea parametros de seguridad de forma automática.
\sesy\SessionSecure::secure();
$ses = new \sesy\Session();
$ses->start();
$ses->set("mykey1", "value");
$ses->set("mykey2", new \StdClass);
$ses->set("mykey3", array());
$data1 = $ses->get("mykey1");
$allData = $ses->get();
$defaultData = $ses->get("invalidKey", "data not found");
phpunit --configuration tests/phpunit.xml
Visite la carpeta de demos para mas ejemplos
- Validaciones de tipo de dato los metodos set, get, delete
- Posibilidad de cambiar el nombre de sesion