PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-09-2011 10:05:01

debe
Membre
Inscription : 25-06-2009
Messages : 87

espace membre : connexion a la place d'un autre

bonjour,
j'ai un soucis avec mon système de connexion : des personnes se retrouvent connectée avec les identifiants d'autres personnes
moi même, je viens d'avoir ce problème mais encore différents : je suis connecté à mon nom et adresse mail mais avec des coordonnées différents (adresse, ville, profession)

gros bug donc, merci de m'aider

mon code de connexion http://www.cyberacteurs.org/cyberactions/login.php :

<?php  
session_start();
extract($_POST);
$mdpcook = sha1($mdp);  

// pour la reconnexion automatique
if($_POST['remember']=='ok')
{
setcookie('mellog',$mel,time()+3600*24*365*2,'/');
setcookie('mdplog',$mdpcook,time()+3600*24*365*2,'/');
}
else
{
setcookie('mellog');
setcookie('mdplog');
}
?>

$sql = "SELECT * FROM matable WHERE mel = '$mel' && mdp = '$mdp' ";
$req = mysql_query($sql) ;
$data = mysql_fetch_assoc ($req);
$result = mysql_num_rows ($req);
if($result =='0')
{
echo '<font color="#990000">Votre adresse électronique et votre mot de passe ne correspondent pas</font>. Vous n\'êtes pas connecté.<p>  ';
require '../include/form_login.inc';
}
else
{
$_SESSION['id_signataire'] = $data['id_signataire'];
      $_SESSION['nom_signataire'] = stripslashes($data['nom']);
      $_SESSION['prenom_signataire'] = stripslashes($data['prenom']);
      $_SESSION['profession'] = stripslashes($data['profession']);
      $_SESSION['adresse'] = stripslashes($data['adresse']);
      $_SESSION['cp'] = $data['cp'];
      $_SESSION['ville'] = stripslashes($data['ville']);   
      $_SESSION['pays'] = $data['pays'];
      $_SESSION['mel_signataire'] = $mel;
      $_SESSION['mdp'] = $mdp;
      $_SESSION['enligne'] = $data['enligne'];
      $_SESSION['date_inscrip'] = $data['date_inscrip'];
      $_SESSION['datelastsign'] = $data['datelastsign'];
      $_SESSION['meldep'] = $mel_dep;
}

et la connexion automatique se fait par

// login automatique
if(empty($_SESSION['id_signataire']) && !empty($_COOKIE['mellog']) && !empty($_COOKIE['mdplog']) )
{
  $mellog= $_COOKIE['mellog'];
  $mdplog= $_COOKIE['mdplog']; 
 
  $sql = "SELECT * FROM matable WHERE mel = '$mellog' && mdp = '$mdplog' && codevalid = 'ok'";
  $req = mysql_query($sql);
  $data = mysql_fetch_assoc ($req);
  $result = mysql_num_rows ($req);
 
 
      if($result !=0)
      {                
        $_SESSION['id_signataire'] = $data['id_signataire'];
        $_SESSION['nom_signataire'] = stripslashes($data['nom']);
        $_SESSION['prenom_signataire'] = stripslashes($data['prenom']);
        $_SESSION['profession'] = stripslashes($data['profession']);
        $_SESSION['adresse'] = stripslashes($data['adresse']);
        $_SESSION['cp'] = $data['cp'];
        $_SESSION['ville'] = stripslashes($data['ville']);   
        $_SESSION['pays'] = $data['pays'];
        $_SESSION['mel_signataire'] = $mellog;
        $_SESSION['mdp'] = $_COOKIE['mdplog'];
        $_SESSION['enligne'] = $data['enligne'];
        $_SESSION['date_inscrip'] = $data['date_inscrip'];
        $_SESSION['datelastsign'] = $data['datelastsign'];
        $_SESSION['meldep'] = $mel_dep;    
      }
     
  // fin login automatique    
}

j'espere ne pas avoir mis trop de code, faut-il mettre cela sur le wall ?

Hors ligne

#2 08-09-2011 10:08:41

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : espace membre : connexion a la place d'un autre

j'ai oublié de dire que lorsque je regarde les liens vus par le robot de google, ils ont tous des paramètres de session ajoutés
par exemple

<li><a title="les cyber actions" href="../cyberactions/actions.php?PHPSESSID=2119bafebaf54751e6e0a3ad235cdcdf">Cyber actions </a></li>

est-ce dû à cela ?

Hors ligne

#3 09-09-2011 14:02:58

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : espace membre : connexion a la place d'un autre

j'ai ajouté
ini_set('session.use_cookies', '1');
ini_set('session.use_only_cookies', '1');
ini_set('session.use_trans_sid', '0');
ini_set('session.name', 'PHPSESSID');
ini_set('session.auto_start', '0');
ini_set('session.cookie_lifetime', '0');
ini_set('session.cookie_httponly', '0');

je pense que cela va résoudre mon problème

Hors ligne

Pied de page des forums