+ Rispondi alla Discussione
Risultati da 1 a 9 di 9

password criptata in phpmyadmin

Ultimo Messaggio di Marinski il:
  1. #1
    Utente Premium L'avatar di Marinski
    Data Registrazione
    Jul 2009
    Messaggi
    183

    password criptata in phpmyadmin

    Buonasera giorgiani!!
    Ho un problema più unico che raro...
    Quando mi registro dal mio form tutto funziona ma quando faccio il login nn mi fa entrare!
    Ho aperto il mio database con phpmyadmin ed ero registrato, quindi ho provato ad inserire la password criptata (una serie di numeri e lettere) e mi fa entrare...

    Da cosa è dovuto e come posso sistemare?
    Ciao.

  2. #2
    Utente Premium L'avatar di Marinski
    Data Registrazione
    Jul 2009
    Messaggi
    183
    up

  3. #3
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Località
    Messina
    Messaggi
    7,149
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    Ciao Marinski,
    devi avere un pò di pazienza ed attendere le risposte, poichè non è detto che il giorno stesso in cui apri una discussione trovi qualche utente in grado di aiutarti.
    Io leggendo il problema non ho comunque ben capito cosa significa che dopo sei riuscito ad entrare, sarebbe meglio spiegare in maniera più chiara il tutto.

  4. #4
    Utente Premium L'avatar di Marinski
    Data Registrazione
    Jul 2009
    Messaggi
    183
    Ho creato un form di registrazione con jquery, html e php...
    Poi ho creato da me il file php che serve per far inserire i dati nel database...
    Tutto funziona, nel senso che nel database i miei dati si registrano...
    Poi ho creato un form di login, e quando inserisco i miei dati me li segna "non corretti"...
    Andando a tentativi, ho provato ad inserire anzichè la password, la password criptata nel database (qualcosa tipo fdf838fdsfdf3...) e funziona!
    Quindi il mio login ora richiede il nickname e la password criptata, e non so perchè! Dovrebbe chiedere la password normale!
    Da cosa è dovuto?

  5. #5
    Moderatore L'avatar di gianrudi
    Data Registrazione
    Apr 2008
    Località
    ventimiglia
    Messaggi
    950
    Ciao Marinski,
    a occhio direi che la password che inserisci nel tuo form di login dovrebbe essere criptata con l'apposita funzione (la stessa usata dallo script per la registrazione che inserisce i dati nel database) prima di essere comparata con quella registrata nel database, altrimenti succede quello che hai descritto, credo.

  6. #6
    ModSenior L'avatar di Thedarkita
    Data Registrazione
    Aug 2006
    Località
    Messina
    Messaggi
    7,149
    Segui Thedarkita su Twitter Aggiungi Thedarkita su Google+ Aggiungi Thedarkita su Facebook Aggiungi Thedarkita su Linkedin Visita il canale Youtube di Thedarkita
    È evidente che lo script di login effettua la query utilizzando l'hash della password inserita dall'utente mentre la registrazione non la inserisce come hash bensì viene inserita in chiaro.

  7. #7
    Utente Premium L'avatar di Marinski
    Data Registrazione
    Jul 2009
    Messaggi
    183
    Io cripto la password così
    Codice PHP:
    $pass_md5 md5($password); 
    Se tolgo questa stringa la password neanche me la inserisce nel database...

    Il login invece funziona così
    Codice PHP:
    <?php

    include ("configurazione.php");

    $username=$_POST['username']; 
    $password=$_POST['password']; 
    $sql="SELECT * FROM tabella_registrati WHERE username='$username' and password='$password'"
    $result=mysql_query($sql); 
    $count=mysql_num_rows($result); 
    // If result matched $username and $password, table row must be 1 row 
    if($count==1){ 
    // Register $username, $password and redirect to file "loginsuccess.php" 
    session_register("username"); 
    session_register("password"); 
    header("location:loginsuccess.php"); 

    else { 
    echo 
    "Username o password errati"

    ?>
    questa è la pagina completa per inserire i dati nel db

    Codice PHP:
    <?php
    $connessione
    =mysql_connect("localhost","marinski","") or die(mysql_error());
    $scelta_db=mysql_select_db("my_marinski") or die(mysql_error());
    ?>
    <?php

    // recuperiamo i dati inviati con il form


    $username $_POST['username'];

    $firstname $_POST['firstname'];

    $lastname $_POST['lastname'];

    $age $_POST['age'];

    $gender $_POST['gender'];

    $country $_POST['country'];

    $email $_POST['email'];

    $password $_POST['password'];

    $cpassword $_POST['cpassword'];


    // ora controlliamo che i campi siano stati tutti compilati

    if ( $username == TRUE && $firstname == TRUE && $lastname == TRUE && $age == TRUE && $gender == TRUE && $country == TRUE && $email == TRUE && $password == TRUE && $cpassword == TRUE )  {


    // controlliamo se il campo mail è stato scritto in maniera errata


    $mail eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email); 

    if ( 
    $mail == TRUE ) {



    // controlliamo se l'email o l'username sono già presenti nel database

    $sql mysql_query("SELECT * FROM tabella_registrati WHERE email = '$email'") or die ("Mail già occupata");

    $num_rows mysql_num_rows($sql); 

    if ( 
    $num_rows == ) {

    // ora controlliamo che le password inserite siano identiche

    if ( $password == $cpassword ) {


    // infine criptiamo la password con md5

    $pass_md5 md5($password);

    $username mysql_real_escape_string($username);

    $nome mysql_real_escape_string($firstname);

    mysql_query("INSERT INTO tabella_registrati
                 (id , username , firstname , lastname , password , gender , age , country , email )
                 VALUES 
                 ('','
    $username', '$firstname', '$lastname', '$pass_md5', '$gender', '$age', '$country', '$email' )") OR DIE(mysql_error());

    // e inviamo una mail con la riuscita registazione

    mail ($email"Registrazione OK""Complimenti registrazione effettuata con successo""From: tuamail@host.formato");

    // messaggio da far visualizzare all'utente finale

    echo "Complimenti registrazione effettuata con successo.";


    } else {

    echo 
    "Le password non corrispondono";

    }


    } else {

    echo 
    "Indirizzo mail già utilizzato.";

    }

    } else {

    echo 
    "La tua mail non è idonea, per la registrazione.";

    }


    } else {

    echo 
    "Tutti i campi sono obbligatori.";

    }


    ?>

  8. #8
    Moderatore L'avatar di gianrudi
    Data Registrazione
    Apr 2008
    Località
    ventimiglia
    Messaggi
    950
    Secondo me dovresti criptare la password da confrontare nella query del form di login:

    Codice:
    $sql="SELECT * FROM tabella_registrati WHERE username='$username' and password='$password'";
    Per esempio, prima della query puoi inserire la semplice istruzione:
    Codice:
    $password = md5($password);
    Oppure caricare l'hash in un'altra variabile e poi usare quella per il confronto nella query di login.

  9. #9
    Utente Premium L'avatar di Marinski
    Data Registrazione
    Jul 2009
    Messaggi
    183
    Gianrudi era proprio quel che mancava...
    Il
    Codice PHP:
    $password md5($password); 
    nel codice del login!
    Grazie!

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.