Visualizzazione dei risultati da 1 a 4 su 4

Discussione: sha1 problema login

  1. #1

    sha1 problema login

    ecco la funzione della registrazione
    Codice PHP:
    function register($n,$c,$p,$p2,$em,$fo){
       
       
    $n addslashes(mysql_real_escape_string ($_POST['nome']));
       
    $c addslashes (mysql_real_escape_string ($_POST['cognome']));
       
    $p addslashes (mysql_real_escape_string ($_POST['password']));
       
    $p2 addslashes (mysql_real_escape_string ($_POST['ripetipassword']));
       
    $em filter_var ($_POST['mail'],FILTER_VALIDATE_EMAIL);
       
    $fo =  $_FILES['foto'];
         echo 
    $form;
        if (empty (
    $_POST['register'])){
            
    //se tutto vuoto lo script si blocca così evitiamo  il problema di tutta quells 
            //brofaglia di informazioni inutili;
            
    return;
            }
        if (empty (
    $n) || empty ($c)){
           
    $error _INSERTNOMEEPASSW;
           echo 
    $error;
           return;    
        }if (empty (
    $p) and empty ($p2)){
              
    $error.= _PASSWORDNOT;
            echo 
    $error;
            return;
        }if (
    strlen ($p) < 6){
           
    $error.= _PASSWORDISNOTLONGES;
            echo 
    $error;
            return;
        }if (
    $p2 != $p){
             
    $error.= _PASSWORDISNOTPASSWORD2;
            echo 
    $error;
            return;
        }if (!(
    filter_var ($_POST['mail'],FILTER_VALIDATE_EMAIL))){
          
    $error.= _ISNOTEMAIL;
              echo 
    $error;
            return;
        }if (empty (
    $fo)){
            
    $error.= _NOFOTO;
            echo 
    $error;
            return;
            }else{
            
    $conn mysql_query ("select mail from utenti where mail = '$em'");
            
    $num mysql_fetch_row ($conn);
            if (
    $num 0){
                 
    $error.= _USERALREDY;
                echo 
    $error;
                }else{
                
    $conn mysql_query ("insert into utenti (nome,cognome,password,mail,foto)values('$n','$c','".sha1($p)."','$em','$fo')");
                if (
    $conn){
                
    $error.= _SUCCESSIFUL;
                echo 
    $error;
                
                
    header("Refresh:10; URL=login.php");
                echo 
    _REFRESH;
                
                
    $mailgroup "";
                
    mail ($em $mailgroup_EMAILHEADER $mailgroup.= _EMAILBODY .$n $c$mailgroup.= _EMAILBODY2 $p $emailbody.= _EMAILBODY3);
                
                }else{
                    echo
    "ERROR";
                        }
                    
                    }
            
            }



    la password è criptata in sha1
    il problema è che quando eseguo la query per il login non mi riconosce la password anche se la mando in sha1 tramite $_POST
    [PHP]
    function 
    login ($p,$m){
    $p $_POST['p'];
    $m $_POST['m'];
    if (empty (
    $p) || empty ($m)){
    echo 
    "inserie i campi";
    return;
    }else if (empty (
    $p)) {
    echo 
    "inserire la password";
    }else if (empty (
    $m)){
    echo 
    "iserire le mail";
    }else{
    $conn mysql_query ("select id,nome,cognome,password,mail,foto from utenti where password = '".sha1($p)."' and mail = '$m'");
    $con mysql_num_rows ($conn);
    if (
    $con 0)
     {
     list(
    $id$nome,$cognome$pass$mail$foto) = mysql_fetch_array($conn);
     echo 
    $_SESSION['nome'] = $nome;
     echo 
    $_SESSION['cognome'] = stripslashes ($cognome);
     echo 
    $_SESSION['password'] = $pass;
     echo 
    $_SESSION['mail'] = $mail;
     echo 
    $_SESSION['foto'] = $foto;
    echo 
    "find";


    }
    }


    consigli?


    [/PHP]
    01001101 01000001 01010010 01001001 01001111 01000000 01001101 01001111 01001110 01000101☺☻

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Consigli nel senso che non funziona o nel senso che vuoi migliorara? Come libreria per il database usa PDO.

  3. #3
    Ciao!
    Innanzitutto riguarda i tag BBcode del tuo post perchè hai fatto un pò di confusione.
    Poi, per quanto riguarda il tuo problema ho due note:
    1) Nella registrazione non inserisci la password in sha1
    2) Nel login non filtri la password come nella registrazione
    Prova a fare così per il login:
    Codice PHP:
       $p addslashes (mysql_real_escape_string ($_POST['password'])); 
    E non criptare la password. Vedi se w0rka

  4. #4
    Macché tutto risolto,,non ho postato codice com la passwordd in sha1. Perché hoo postato una. funzione prova cioé una delle prove..comunque era il tipo varchar 20 che nel db era troppo coorto e lo sha1 della password veniva troncato..
    Qualche consiglio su come stampare un tipo blob della fattispecie foto. Estratto da mysql?.perdonate gli erroracci di battitura scrivo da no scomodissimo smartphone.
    01001101 01000001 01010010 01001001 01001111 01000000 01001101 01001111 01001110 01000101☺☻

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.