Problème d'authentification avec sha1[RESOLU]

Problème d'authentification avec sha1[RESOLU] - PHP - Programmation

Marsh Posté le 24-08-2009 à 18:20:48    

Bonsoir  :hello: ,
 
J'ai un soucis concernant une vérification de login/mdp avec sha1. En fait le echo $crypt; m'affiche un mdp différent de celui de ma BDD. Je comprends pas trop ce que j'ai mal fait  :sweat:  
 


<?php  
if (isset($_POST)&&!empty($_POST['login']) && !empty($_POST['pass']))    
    {  
    extract($_POST);
    $crypt = sha1($pass);
    echo $crypt;
     
    include('modules/db.php');    
     
    $req = "SELECT login_util ,mdp_util, statut_util FROM utilisateur";    
    $sql = mysql_query($req);
    while($data = mysql_fetch_array($sql))        
        {        
        if($_POST['login'] == $data['login_util'] && $crypt == $data['mdp_util'] && $data['statut_util'] == 'Admin')
            {        
            $_SESSION['login'] = $_POST['login'];
            $_SESSION['pass'] = $crypt
            $_SESSION['connect'] = 2;
            header('location:admin/admin.php');
            }        
        elseif($_POST['login'] == $data['login_util'] && $crypt == $data['mdp_util'] && $data['statut_util'] != 'Admin')
            {
            $_SESSION['login'] = $_POST['login'];          
            $_SESSION['pass'] = $crypt          
            $_SESSION['connect'] = 1;            
            header('location:profs/profs.php');            
            }        
        elseif (!empty($_POST['envoyer']))            
            {    
            // Message d'erreur à rajouter si besoin si l'utilisateur se connecte sans remplir les champs
            }        
        }    
    }
elseif (!empty($_POST['envoyer']))    
    {    
    echo '<div class="">'.'</div>';
    }
?>


Merci du coup de main  :)


Message édité par Profil supprimé le 24-08-2009 à 19:52:27
Reply

Marsh Posté le 24-08-2009 à 18:20:48   

Reply

Marsh Posté le 24-08-2009 à 19:00:23    

Est-ce que par hasard le champ mdp_util serait déclaré en varchar au lieu d'être déclaré en char ? Un champ en varchar ne peut pas contenir de zero binaire ni de code retour à la ligne, alors qu'un champs char le peut.

Reply

Marsh Posté le 24-08-2009 à 19:01:57    

peut-être le mot de passe hashé se trouvant dans la base de donnée est tout simplement faux?
C'est quoi comme type de champ dans lequel tu stockes ton hash de password? Un varchar? de combien de caractères?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 24-08-2009 à 19:06:39    

T'aurais pas un mysql_escape_string qui traine aussi non ?
Comment tu à hashé ton mdp en bdd ?

Reply

Marsh Posté le 24-08-2009 à 19:52:13    

Yop  :hello:  
 
Je viens de modifier mon champ en mettant un CHAR(255).
 
 
l0g4n à vu juste, j'avais bien un mysql_escape_string qui trainait juste avant mon sha1. Merci  [:cupra]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed