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 09/09/2011, 10h29   #1
Invité de passage
 
Inscription : janvier 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 5
Points : 0
Points : 0
Par défaut Connexion à la place d'un autre

Bonjour,

J'ai un souci avec mon système de connexion : des personnes se retrouvent connectées avec les identifiants d'autres personnes.
Moi-même, je viens d'avoir ce problème mais qui est encore différents : je suis connecté à mon nom et adresse mail mais avec des coordonnées différentes (adresse, ville, profession)

Gros bug donc...

Mon code de connexion http://www.cyberacteurs.org/cyberactions/login.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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');
}
?>
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
$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> &nbsp;';
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
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
// 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    
}
Je ne sais pas si cela a une incidence : lorsque je regarde les liens vus par le robot de Google, ils ont tous des paramètres de session ajoutés.
Par exemple
Citation:
<li><a title="les cyber actions" href="../cyberactions/actions.php?PHPSESSID=2119bafebaf54751e6e0a3ad235cdcdf">Cyber actions </a></li>
Est-ce dû à cela ?

Merci d'avance pour votre aide.
dombeauce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 15h02   #2
Invité de passage
 
Inscription : janvier 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 5
Points : 0
Points : 0
Par défaut correction

j'ai ajouté
Code :
1
2
3
4
5
6
7
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
dombeauce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 15h10   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
le session.use_trans_sid se modifié avec le .htaccess pas avec in ini_set
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 16h27   #4
Invité de passage
 
Inscription : janvier 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 5
Points : 0
Points : 0
donc je mets
Code :
session.use_trans_sid(0);
dans un fichier .htacess, c'est cela ?
mais ou ? je mets cela dans le htacess à la racine du site ?
dombeauce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 17h06   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par dombeauce Voir le message
donc je mets
Code :
session.use_trans_sid(0);
dans un fichier .htacess, c'est cela ?
mais ou ? je mets cela dans le htacess à la racine du site ?
c'est pas une fonction

Code :
session.use_trans_sid = Off
dans un .htaccess a la racine de ton site (si t'es en module apache biensur)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 18h13   #6
Invité de passage
 
Inscription : janvier 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 5
Points : 0
Points : 0
message erreur Internal Server Error lorsque je copie/colle ce que tu m'a donné dans mon htacess qui ressemble donc a ceci

Code :
1
2
session.use_trans_sid = Off
ErrorDocument 404 http://www.cyberacteurs.org/404.php
dombeauce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 18h20   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par dombeauce Voir le message
message erreur Internal Server Error lorsque je copie/colle ce que tu m'a donné dans mon htacess qui ressemble donc a ceci

Code :
1
2
session.use_trans_sid = Off
ErrorDocument 404 http://www.cyberacteurs.org/404.php
arf oui pardon c'est

php_flag session.use_trans_sid off
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 10h05   #8
Invité de passage
 
Inscription : janvier 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 5
Points : 0
Points : 0
merci. mon problème est résolu
dombeauce 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 20h14.


 
 
 
 
Partenaires

Hébergement Web