Bonjour,
je débute avce les variables de sessions et j'ai un probléme de sécurité de base.
En effet :

dés que je veux rafraichir mon indexa.php ( ma page qui nécessite une identification ) alors que je suis bien loggé avec les bonnes variables, il va me refusé l'accés car au raffrachissement il a echangé les variables de sessions avec un autre utilisateur de la table.



voici mon code de login :
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
<?
 
 
//require('logout.php');
// On écrase le tableau de session
// s'il y une session on l'ecrase
session_start();
 
if(isset($_SESSION['login'])  ) {
 
 
$_SESSION = array();
 
// On détruit la session
session_destroy();
 
}
require('connexion.php');
 
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['mdp'])) {
 $login = $_POST['login'];
 $mdp = $_POST['mdp'];
 
  // on recupère le password de la table qui correspond au login du visiteur
  $sql = "select * from Membres where login='".$login."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 
  $data = mysql_fetch_assoc($req);
 
  $droits = $data['droits'];
 
 
 
  if  ($data['mdp'] != $mdp) { //||  ( empty($data) ) )  {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
 
 
    require('index.php'); // On inclut le formulaire d'identification
   exit;
  }
 else {
 
	if ( strcmp($droits,"admin") == 0 )
	{
 
		echo 'Vous etes bien logue en admin ';
		?><meta http-equiv="refresh" content="0;URL=indexa.php"><?
 
	}
	else 
		{
 
		echo 'Vous etes logue en normal';
			?><meta http-equiv="refresh" content="0;URL=indexuser.php"><?
		}
 
 
 
 
 
  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   require('index.php'); // On inclut le formulaire d'identification
   exit;
}
 
 
?>
et ma page qui pose probleme (indexa.php ):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<?
 
session_start();
 
if ( strcmp ($droits,"admin) != 0 )
{
 echo " erreur vous n'avez pas les droits ";
}
// et la si j'affiche mes variables de sessions $_SESSION['droits']; et $_SESSION['id']; elle se sont transformé en un autre utilisateur ( j'ai vidé mon cache et essayé sur une autre machine avec le même resultat ) 
?>
Merci a vous