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

PHP & Base de données Discussion :

comparer mot de passe formulaire et bdd


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut comparer mot de passe formulaire et bdd
    Bonjour,

    je cherche dans un premier temps à afficher le mot de passe provenant de la bdd.
    Je n'arrive pas à poser la bonne question su google !

    pour cela je fais un var dump. celui-ci me retourne :

    string(40) "381be0093c78dc23f52ac7a2357c8db4d86635b1" // c'est une valeur crypter : var_dump ($test)
    pourquoi est-ce que string(40) s'affiche ?
    Comment faire pour ne récupérer que la valeur entre les guillemets ?

    le mot de passe du formulaire me donne bien : 381be0093c78dc23f52ac7a2357c8db4d86635b1

    voici le code complet
    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
    <?php
    session_start();
    mysql_connect("serveur","login","mdp");
    mysql_select_db("nomdelabdd");
     
    if(isset($_POST) && !empty($_POST['password'])){
      $mdp = $_POST['password'];
      $mdpcript = sha1($mdp);
     
        $sql = " SELECT * FROM authentification WHERE password='".$mdpcript."' ";
      	$req = mysql_query($sql);
      	$recp = mysql_fetch_array($req);
      	$test = mysql_escape_string($recp['password']);
      	var_dump ($test);
        ?> <br /> <?php
        echo $mdpcript;
     
      		if($mdp == $recp['password']) {
            header('Location:monurl');
          }
          else{
            echo "Mauvais mot de passe - réessayer";
    			}
     
    }
    ?>
    merci à ceux qui pourront m'aider

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    pourquoi est-ce que string(40) s'affiche ?
    Ben... parce que c'est ce que fait var_dump()... C'est-à-dire indiquer le type, la taille et le contenu d'une variable.
    Comment faire pour ne récupérer que la valeur entre les guillemets ?
    Ben... c'est ta variable, donc utilise-la.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut envoi ou recuperation d'une session
    merci Bovino,

    le problème est résolu et la solution tellement simple.
    deuxième étape,je cherche à envoyer une session de la page formulaire et verification du mot de passe, vers la page protégée.
    Et récupérer la session dans cette dernière pour vérifier qu'elle existe bien.

    est ce que je m'y prend bien :

    code de vérification mis à jour :

    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
    <?php
    session_start();
    mysql_connect("serveur","login","mdp");
    mysql_select_db("nomdelabdd");
     
    if(isset($_POST) && !empty($_POST['password'])){
      $mdp = $_POST['password'];
      $mdpcript = sha1($mdp);
     
        $sql = " SELECT * FROM authentification WHERE password='".$mdpcript."' ";
      	$req = mysql_query($sql);
      	$recp = mysql_fetch_array($req);
      	$result = mysql_escape_string($recp['password']);
      	$_SESSION['accessgranted'] = $result;
      		print_r($_SESSION);
     
      		if($mdpcript == $result) {
            header('Location:monurl');
          }
          else{
            echo "Mauvais mot de passe - réessayer";
    			}
     
    }
    ?>
    code de la page protégée :

    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
    <?php
    session_start();
    mysql_connect("serveur","login","mdp");
    mysql_select_db("nomdelabdd");
     
     
    if(isset($_SESSION['accessgranted'])) 
    {
    ?>
     
    <?php
    }
    else{
    	header('location:mon autre url');
    }
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton authentification fonctionne avec un seulement un mot de passe sans login ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Oui , sabotage,

    ma page n'est protégée que par un mot de passe , c'est amplement suffisant pour ce qui a à sécuriser.
    Par contre ce que je comprends pas c'est que mon script fonctionne pour la vérification des mots de passe et la redirection, mais la page sécurisée redirige vers la page de connexion au lieu d'affichée son contenu.
    apparemment elle comprend pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isset($_SESSION['accessgranted']))
    voir post précédent pour le code complet

    une idée du probleme ?

    apres verification la page à sécurisée renvoie pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_SESSION["accessgranted"]);
    la valeur "null"

    pouvez-vous m'expliquer pourquoi ?

    je dois tout de même préciser, même si ce forum ne s'y consacre pas, que je cherche à faire marcher ce script dans wordpress

Discussions similaires

  1. Récupérer mot de passe crypté dans BDD depuis application iOS
    Par JPBH31 dans le forum Développement iOS
    Réponses: 2
    Dernier message: 17/02/2014, 12h01
  2. [UI] Insertion login et mot de passe dans une BDD
    Par rclaisse dans le forum jQuery
    Réponses: 6
    Dernier message: 19/06/2013, 10h13
  3. "Se souvenir du mot de passe", formulaire dans un pop-up
    Par Neilime05 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 02/09/2011, 17h23
  4. Réponses: 1
    Dernier message: 07/04/2008, 21h29
  5. Comparer mot de passe entré avec mot de passe hashé
    Par loopback dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2007, 21h38

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