garder une session php


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

garder une session php

Message le Dim Oct 08, 2006 16:45

Bonjours, j'ai un gros problème pour garder une session php. Je m'explique j'ai un formulaire avec un cham ID et PW, on entre donc ses identifiant et on charge index.php. Juste que la tout va bien la session s'est faites, l'utilisateur est reconnu. Mais le problème c'est que si sur index on a un lien et que l'on clique dessus, on perd la session, et on est plus logé. Faut t'il coupler la session avec un cookie, faut t'il faire autre chose?

Voila les code en question:

Le formulaire (tout simple):

Code: Tout sélectionner
<form action="index.php" method="post"><div>
   ID:&nbsp;
   <input type="text" size="15" name="username"/>
   <input type="image" name="submit" src="images/login/ok.gif" title="Ok" class="no_bordure" style="width:22px; height:15px"/><br />PW:
   <input type="password" size="15" name="password"/>
</form>


Le code de session:
Code: Tout sélectionner
session_start();
$loginOK = false;

if (isset($_POST["submit_x"])) { //Session php.
 
  $query = doquery("SELECT * FROM {{table}} WHERE username='".$_POST["username"]."' AND password='".md5($_POST["password"])."' LIMIT 1", "users");
  $verification = mysql_fetch_array($query);
 
    if ((empty($_POST['username'])) || (empty($_POST['password'])) ) {$session = '<div class="alerte_session">Vous n\'avez pas correctement entré votre ID ou PW!</div><br />'; }
      elseif($verification['verify'] == null) {$session = '<div class="alerte_session">L\'utilisateur demandé est inconnu!</div><br />';  }
        elseif($verification['verify'] != null && $verification['verify'] != 1) {$session = '<div class="alerte_session">Vous n\'avez pas validé votre compte, avec le code de validation contenu dans l\'e-mail que nous vous avons envoyé lors de votre inscription!</div><br />';  }
        elseif ($_POST['username'] == $verification['username']) {
        $loginOK = true;
       $onlinequery = doquery("UPDATE {{table}} SET onlinetime=NOW() WHERE id=$verification[id] LIMIT 1", "users");   
   } 
}


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Dim Oct 08, 2006 17:12

pour moi faut tout refaire

les commandes session ne s'arrêtent pas à start

j'ai l'impression que ton systeme est vulnérable, pourrais tu donner le lien vers ce site pour verifier ?

rog


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Message le Dim Oct 08, 2006 17:30

Quesqu'il ne va pas, expliquez moi.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3884
Inscription: 16 Nov 2004

Message le Lun Oct 09, 2006 7:21

Sur les liens dont tu parles, tu dois redemarrer la session => session_start();
Tu peux egalement comme tu le suggère coupler la session avec 1 cookie et recuperer les infos du cookie si besoin est.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités