Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2006, 20h00   #1
Membre du Club
 
Inscription : novembre 2005
Messages : 236
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 236
Points : 45
Points : 45
Par défaut [Sécurité] Perte de donnees du $_SESSION

Bonsoir,
J'ai un petit probleme et ce depuis pas mal de temps avecmes formulaires
En effet pour certains, lorsque je clique sur le bouton valider je perd ma variable $_SESSION['pseudo'] que j'instancie à la connexion
Poutant je met bien mon Quelqu'un saurait-il de quoi cela vient?
shub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 20h02   #2
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 201
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 201
Points : 29
Points : 29
fais bien attention a enregistrer ta variable de session, car si tu ne la parametre pas, ça ne sert a rien...

sinon tu utilise un serveur bien paramétré? peut etre un mauvais parametrage?

Montre ton code pour plus de details
amarcil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 20h25   #3
Membre du Club
 
Inscription : novembre 2005
Messages : 236
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 236
Points : 45
Points : 45
Voici la page html
Code :
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
session_start();
if (!isset($_SESSION['pseudo']) ) 
{
     header ('Location: acceuil_connexion.php');
    exit();
}
if($_SESSION['Admin']!=0)
{
	header('Location: membres_non_droit.php');
}
?>
 
 
				<?
					$message=$_GET['Message'];
					echo "<b>".$message;
					$pseudo = $_GET['Pseudo'];
					$mail = $_GET['Mail'];
					$nom_membre = $_GET['Nom'];
					$adresse = $_GET['Adresse'];
					$telephone = $_GET['Telephone'];
 
				?>
 
				Entrez les informations du membre que vous voulez ajouter
			</div>
 
			 <form name="ajouter_mb" method="post" action="ajouter_mb.php" onSubmit="return verification()">
 
 
						Les champs marqués d'une étoile rouge <font color="red"> (*) </font><br> sont obligatoires
 
				<TABLE BORDER="0" CELLPADDING="2" CELLSPACING="2" width="25%">
					<tr>
						<td>Pseudo <font color="red">*</font>:</td>
 
						<TD ALIGN="LEFT" HEIGHT=35  valign="middle" CLASS="text8">
							 <input type="text" name="pseudo" value="<?=$pseudo?>" />
						</TD>
					</tr>
					<tr>
						<td>Mot de passe <font color="red">*</font>: </td>
						<TD ALIGN="LEFT" HEIGHT=35  valign="middle" CLASS="text8">
						<input type="password" name="mot_passe"  />
						</TD>
					</tr>
					<tr>
						<td>Mail <font color="red">*</font>: </td>
						<TD ALIGN="LEFT" HEIGHT=35  valign="middle" CLASS="text8">
						<input type="text" name="mail" value="<?=$mail?>" />
						</TD>
					</tr>
 
 
					<tr>
						<td>Nom contact : </td>
						<TD ALIGN="LEFT" HEIGHT=35  valign="middle" CLASS="text8">
						<input type="text" name="Nom_contact" value="<?=$nom_membre?>" />
						</TD>
					</tr>
					<tr>
						<td>Adresse : </td>
						<TD ALIGN="LEFT" HEIGHT=35  valign="middle" CLASS="text8">
						<input type="text" name="adresse" value="<?=$adresse?>" />
						</TD>
					</tr>
					<tr>
						<td>Telephone : </td>
						<TD ALIGN="LEFT" HEIGHT=35  valign="middle" CLASS="text8">
						<input type="text" name="telephone" value="<?=$telephone?>" />
						</TD>
					</tr>
					<tr>
						<td>Privileges <font color="red">*</font>: </td>
						<TD ALIGN="LEFT" HEIGHT=35  valign="middle" CLASS="text8">
						<label><input type="radio" name="admin" value="0" /> Admin</label><br />
      						<label><input type="radio" name="admin" value="1" /> Membre </label><br />
						</TD>
					</tr>
					<tr>
						<td>
							<input type="submit" name="ajouter_mb" value="Ajouter ce membre" />	
						</td>
						<td></td>
					</tr>
				</TABLE>
                	</form>		
	</body>
</html>
et le debut de la page php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
	session_start();
	if (!isset($_SESSION['pseudo'])) 
	{
    		//echo "pas bon";
			header ('Location: acceuil_connexion.php');
    		exit();
	}
	if($_SESSION['Admin']!=0)
	{
		header('Location: membres_non_droit.php');
	}
J'accede bien à ma page HTML (meme avec le test) car la variable $_SESSION(['pseudo']) existe, par contre arrivé au traitement du formulaire il me redirige vers la page de connexion, donc en tte logique je peux pense que la varible SESSION "disparait?"
shub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 20h43   #4
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
essai de voir la configuration de ton php.ini afin de connaitre la durée de vie de tes variables de session
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 20h49   #5
Membre du Club
 
Inscription : novembre 2005
Messages : 236
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 236
Points : 45
Points : 45
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Directive Local Value Master Value 
session.auto_start Off Off 
session.bug_compat_42 Off Off 
session.bug_compat_warn On On 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domain no value no value 
session.cookie_lifetime 0 0 
session.cookie_path / / 
session.cookie_secure Off Off 
session.entropy_file no value no value 
session.entropy_length 0 0 
session.gc_divisor 1000 1000 
session.gc_maxlifetime 1440 1440 
session.gc_probability 1 1 
session.name PHPSESSID PHPSESSID 
session.referer_check no value no value 
session.save_handler files files 
session.save_path C:\PROGRA~1\EASYPH~1\\tmp\ C:\PROGRA~1\EASYPH~1\\tmp\ 
session.serialize_handler php php 
session.use_cookies On On 
session.use_only_cookies Off Off 
session.use_trans_sid Off Off
Désolé pour le bordel mais si ca peut aider
shub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 21h35   #6
Membre émérite
 
Inscription : juin 2002
Messages : 1 013
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 1 013
Points : 959
Points : 959
l'instruction session_start doit être la toute première avant tout autre, même avant tout espace.

et chez moi j'ai déjà remarqué que $pseudo interfère avec $_SESSION['pseudo']. Je ne sais pas si cela dépend de la version de php, si c'est normal, mais je l'ai eu. Afin d'éviter cela, je mets $pseudo_autre par exemple
francis m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 22h12   #7
Membre du Club
 
Inscription : novembre 2005
Messages : 236
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 236
Points : 45
Points : 45
Merciapparemment ca venait de la
C'est bizarre quand meme
Enfin je te remercie vivement
shub est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h18.


 
 
 
 
Partenaires

Hébergement Web