Bonjour,
Pour accroitre la securite sur mon site, j'ai redefini les actions relatives aux sessions pour pouvoir stocker les donnees de session dans mysql :
dans le fichier sessions.inc.php :
1 2 3 4 5
|
...definition des fonctions _open, _close, _read, _write...
ini_set("session.save_handler", "user");
session_set_save_handler('_open', '_close', '_read', '_write', '_destroy', '_clean'); |
Pour tester si cela fonctionne bien, j'ai fait dans un fichier test :
1 2 3 4 5 6 7 8
| <?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
include_once($DOCUMENT_ROOT.'/Prot/sessions.inc.php');
session_start();
$foobar = "toto";
$_SESSION['foobar'] = $foobar;
echo $_SESSION['foobar'];
?> |
Apparemment, je devrai donc voir dans ma base de donnees la variable de session foobar avec le contenu toto car je suppose que lorsque je fais :
$_SESSION['foobar'] = $foobar;
la fonction _write (ajoute la donnee a la session) est appelee.
Et ce n'est malheureusement pas le cas.
Ce qui est etonnant, c'est que les fonctions _open, _read sont bien appelees (et que session_set_save_handler retourne TRUE)...
Donc ma question :
Comment fait-on pour ecrire une variable de session quand on a modifie le comportement de gestion des sessions avec session_set_save_handler ?
Si quelqu'un a une idee a propos d'une solution pour ce probleme, je suis preneur !!!
Merci !!!
Partager