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 :

Connexion à la place d'un autre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    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 : 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
    <?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 : 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
    $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 : 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
    // 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
    <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.

  2. #2
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Par défaut correction
    j'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    le session.use_trans_sid se modifié avec le .htaccess pas avec in ini_set

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Par défaut
    donc je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.use_trans_sid(0);
    dans un fichier .htacess, c'est cela ?
    mais ou ? je mets cela dans le htacess à la racine du site ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par dombeauce Voir le message
    donc je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    session.use_trans_sid = Off
    dans un .htaccess a la racine de ton site (si t'es en module apache biensur)

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Par défaut
    message erreur Internal Server Error lorsque je copie/colle ce que tu m'a donné dans mon htacess qui ressemble donc a ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    session.use_trans_sid = Off
    ErrorDocument 404 http://www.cyberacteurs.org/404.php

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

Discussions similaires

  1. Faire apparaître un <div> à la place d'un autre
    Par skyangel20 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 11/01/2008, 09h11
  2. Afficher un texte à la place d'un autre
    Par debutant.informatique dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/05/2006, 22h54
  3. [EasyPHP] connexion serveur apache depuis un autre poste
    Par kcizth dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/12/2005, 09h15
  4. Réponses: 9
    Dernier message: 12/08/2005, 15h10
  5. [RMAN] Connexion à une base sur un autre serveur
    Par alxkid dans le forum Oracle
    Réponses: 2
    Dernier message: 23/08/2004, 11h47

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