IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Perte de donnees du $_SESSION


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    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?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par défaut
    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

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    Voici la page html
    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
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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?"

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    essai de voir la configuration de ton php.ini afin de connaitre la durée de vie de tes variables de session

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    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
     
    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

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    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

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    Merciapparemment ca venait de la
    C'est bizarre quand meme
    Enfin je te remercie vivement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Viewstate et perte de donnees
    Par topolino dans le forum ASP.NET
    Réponses: 3
    Dernier message: 26/08/2009, 08h19
  2. Probleme de perte des donnees de la BD paradox
    Par zakiabdess dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/08/2007, 19h07
  3. Réponses: 2
    Dernier message: 23/04/2007, 08h52
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo