production/Framework/Session.php
2026-04-18 12:32:15 +00:00

45 lines
1.1 KiB
PHP
Executable File

<?php
class Session
{
public function __construct()
{
// Ajout du 18/04/2026 pour sécuriser les sessions
ini_set('session.gc_maxlifetime', 3600);
/*
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
session_set_save_handler(new RedisSessionHandler($redis));
*/
// Fin sécurisation des sessions
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// Utiliser redis directement comme save handler
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', 'tcp://127.0.0.1:6379');
session_start();
}
public function detruire()
{
session_destroy();
}
public function setAttribut($nom, $valeur)
{
$_SESSION[$nom] = $valeur;
}
public function existeAttribut($nom)
{
return (isset($_SESSION[$nom]) && $_SESSION[$nom] != "");
}
public function getAttribut($nom)
{
if ($this->existeAttribut($nom)) {
return $_SESSION[$nom];
}
else {
throw new Exception("Attribut '$nom' absent de la session");
}
}
}