Bonjour,
J'utilise session_start() pour créer une session lors de l'accès au site que je développe.
Ensuite je teste si la variable $PHPSESSID existe, c'est le nom de session donné dans le php.ini :
Je me suis aperçue que la variable PHPSESSID n'était jamais initialisée et qu'en conséquence lors de l'ouverture d'une autre page il exécutait toujours la 2è partie du test : session_start().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function ctrl_session() { if ($PHPSESSID) session_start($PHPSESSID); else session_start(); // Teste l'initialisation de la variable ip if(!isset($_SESSION['ipaddr'])) { $_SESSION=array(); session_destroy(); die(); } // Contrôle que la session utilise toujours la même adresse ip if($_SERVER['REMOTE_ADDR']!=$_SESSION['ipaddr']) { $_SESSION=array(); session_destroy(); die(); } }
Est-ce normal ?
Merci pour vos suggestions.![]()
Partager