Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Usare Password Criptata In Mysql

    ciao raga da una pagina web presente nel mio sito mi arriva la seguente stringa:


    codice:
     www. sitomio.it/counter/myarea.php?login=mattia & pass = 03247ef7ed8ef817f90642d0ba77950d
    la password come si può vedere è criptata, ora io dovrei usare user e pass per vedere se esistono nel database quindi in php scrivo:


    codice:
    $login = $_GET['login'];
    $pass = $_GET['pass']; 
    
    	$sql = "SELECT user , pass , tipo FROM countpass WHERE user = '" . $login . "' AND pass = '" . $pass . "'";
    	echo $sql;
    	$risult = @mysql_query($sql,$connessione) or die("Impossibile stabilire l'interrogazione");
    	$array = mysql_fetch_array($risult);
    	
    	if($array['tipo']=="1"){
    		print " $login , BENVENUTO nella tua area riservata!";
    	}
    	
    	if($array['tipo']==""){
    		print "password errata!";
    	}

    se user e pass sono corretti vuol dire che riesce a beccarmi un record e in quel record oltre ai campi 'user' e 'pass' c'è pure un campo 'tipo' che ha valore 1... quindi se il valore è 1 significa user e pass ok altrimenti errati.


    se inserisco la password criptata mi va in 'password errata' mentre se inserisco la password non criptata tutto ok mi da il BENVENUTO.

    ovviamente io voglio poter ricevere della stringa la password CRIPTATA (md5) e vorrei darla in pasto al mysql cosi comè... è possibile???

    che posso fare??

    tenete conto che ho aruba con server linux

  2. #2
    una cosa è certa: una volta criptata la password con md5 non posso più tornare indietro...... quindi credo che non sia nemmeno possibile dare in pasto al mio codice sql la pass già criptata, quindi il problema nasce dal principio, dovrei ricevere la stringa con la password visibile... ma ovviamente non va bene

    potrei ricevere la password attraverso un form e poi usare post invece di get, MA come discorso sicurezza non cambia molto perchè in qualche modo si può leggere la pass...

    raga che faccio???

  3. #3
    Non so indicarti la soluzione al tuo problema, ma ti suggerisco comunque di rivedere il tuo codice: passando a MySQL una query che include una variabile GET senza controlli, ti esponi al rischio di MySQL Injection.

    Ti consiglio di studiarti questo articolo per metterti al riparo da questo pericolo

  4. #4
    Codice PHP:
    $sql "SELECT user , pass , tipo FROM countpass WHERE user = '" $login "' AND MD5(pass) = '" $pass "'"

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Devi memorizzare nel db la password crittata.
    Solo così puoi fare il confronto tra passw crittate.

  6. #6
    grazie a tutti,

    teuzzo credo che la tua sia l'unica soluzione.....

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.