password

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Salve !
Vorrei sapere come impostare una password.
Ne mio database ho creato una tabella con un campo chiamato "PASS" di tipo "VARCHAR" e uno chiamato "login" sempre varchar.

Il campo PASS ha valore: 21232f297a57a5a743894a0e4a801fc3 (cioè ADMIN)
Il campo LOGIN ha valore: admin

Il codice criptato l'ho trovato su internet e funziona.
Come si crea un codice criptato così o meglio come si fa a cambiare la password???
Grazie!
 

Akuma

Nuovo Utente
17 Mag 2014
28
0
1
31
Peschiera del Garda (VR)
Se non ho capito male quello che chiedi, nel form di registrazione o di modifica del profilo che crei ci sarà naturalmente il classico

HTML:
<input type="password" name="pass1" placeholder="Pass">

poi naturalmente filtrerai il dato immesso nella form con una cosa del genere (almeno io uso questa)

PHP:
$pass1= trim($_POST['pass1']);
$pass1_filtrata = $mysqli->real_escape_string($pass1);

e prima di inviarla alla query di INSERT o UPDATE la cripti

PHP:
$pass_criptata = sha1($pass1_filtrata);

infine nella query inserirai la variabile $pass1_filtrata; ho fatto l'esempio con sha1 ma puoi usare quello che vuoi.
Spero di esserti stato utile :D
 

Akuma

Nuovo Utente
17 Mag 2014
28
0
1
31
Peschiera del Garda (VR)
Fabrizio scusa, mi sono accorto che ho sbagliato una cosa, nella query di INSERT o di UPDATE non devi inserire la variabile $pass1_filtrata ma la variabile $pass_criptata :D sennò criptarla è stato inutile :D scusa ancora!
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ciao Akuma,
grazie per la risposta, ma non credo di essermi spiegato correttamente.
Quello che vorrei poter fare è usare un'altra password che non sia ADMIN.
Nel database, il campo PASS ha valore ADMIN, scritto però in questa forma:

21232f297a57a5a743894a0e4a801fc3
databasepassword.png

Nella pagina del login se scrivo nome utente "admin" e password "admin" posso accedere alla mia pagina.
Se invece, nel database, al posto di questo "codice" (21232f297a57a5a743894a0e4a801fc3)
ci scrivo per esempio "marmellata" e poi nella pagina login scrivo nome utente "admin" e password "marmellata" non funziona.
Come mai?
 

Akuma

Nuovo Utente
17 Mag 2014
28
0
1
31
Peschiera del Garda (VR)
Ciao Akuma,
grazie per la risposta, ma non credo di essermi spiegato correttamente.
Quello che vorrei poter fare è usare un'altra password che non sia ADMIN.
Nel database, il campo PASS ha valore ADMIN, scritto però in questa forma:

21232f297a57a5a743894a0e4a801fc3
Vedi l'allegato 2215

Nella pagina del login se scrivo nome utente "admin" e password "admin" posso accedere alla mia pagina.
Se invece, nel database, al posto di questo "codice" (21232f297a57a5a743894a0e4a801fc3)
ci scrivo per esempio "marmellata" e poi nella pagina login scrivo nome utente "admin" e password "marmellata" non funziona.
Come mai?

Le pass criptate dato che NON possono essere decriptate, nel momento del login per autenticare un utente ci sarà un controllo che cripterà la pass immessa nella form per confrontarla con quella già criptata nel database, quindi una cosa del genere:

PHP:
$pass_decr = trim($_POST['pass_decr']);
$pass_pulita = $mysqli->real_escape_string($pass_decr);

$pass_cript = sha1($pass_pulita);

$controllo_dati = $mysqli->query("SELECT * FROM utenti WHERE email_utente = '$email' AND password = '$pass_cript' ");

quindi nel tuo form quando scrivi "marmellata" questa viene criptata e se sul db la pass è scritta in chiaro e quindi non criptata fallisce la login.

se vuoi togliere il sistema di criptazione basta che togli questo passaggio nel controllo della login:

PHP:
$pass_cript = sha1($pass_pulita);

e nella query quindi devi togliere la variabile criptata $pass_cript ed inserire solo quella filtrata $pass_pulita
 

neo996sps

Utente Attivo
31 Mag 2007
247
0
0
Trentino
devi fare un update del record interessato. Una cosa del genere (occhio che è PHP maccheronico)

UPDATE utenti SET password = SHA1($_POST["campo_password"]) WHERE id = $_GET["id_univoco_utente"]
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ciao, grazie per le risposte.
Purtroppo essendo piuttosto inesperto di php non riesco a capire bene dove sbaglio.
Posto il mio codice:

PHP:
$log = $_POST['Tlogin'];
	$pass = md5($_POST['TPass']);
	
	$sql_util = "Select * From tutil 
				 WHERE login = '".$log."' 
				 AND pass = '".$pass."'";
				 
	$req_util = mysql_query($sql_util) or die ("Erreur SQL > ".$sql_util."<br />".mysql_error());

E poi:

PHP:
	echo '<form name="Flog" method="post" action="index.php" class="FormLog">
					<label>Login : </label><input type="text" name="Tlogin" /><br />
					<label>Password : </label><input type="password" name="TPass" placeholder="Pass"/><br />
					<input type="submit" name="BtSend" value="Login" /><br />';
				if (isset($err))
					echo $err;
				echo '</form>';

:confused::confused::confused::confused::confused:
 

Akuma

Nuovo Utente
17 Mag 2014
28
0
1
31
Peschiera del Garda (VR)
Ciao, grazie per le risposte.
Purtroppo essendo piuttosto inesperto di php non riesco a capire bene dove sbaglio.
Posto il mio codice:

PHP:
$log = $_POST['Tlogin'];
	$pass = md5($_POST['TPass']);
	
	$sql_util = "Select * From tutil 
				 WHERE login = '".$log."' 
				 AND pass = '".$pass."'";
				 
	$req_util = mysql_query($sql_util) or die ("Erreur SQL > ".$sql_util."<br />".mysql_error());

E poi:

PHP:
	echo '<form name="Flog" method="post" action="index.php" class="FormLog">
					<label>Login : </label><input type="text" name="Tlogin" /><br />
					<label>Password : </label><input type="password" name="TPass" placeholder="Pass"/><br />
					<input type="submit" name="BtSend" value="Login" /><br />';
				if (isset($err))
					echo $err;
				echo '</form>';

:confused::confused::confused::confused::confused:


devi modificare questo da:

PHP:
$pass = md5($_POST['TPass']);

a:

PHP:
$pass = $_POST['TPass'];

se questo sito devi metterlo online, mi raccomando di filtrare questi input con un mysqli_real_escape_string (o quello che vuoi), perchè allo stato attuale con un ' ti si blocca tutta la query ed è vulnerabile ad sql injection
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ecco,
ora funziona come volevo.
Potresti spiegarmi come fare a filtrare l'input...non è ho idea...Chiedo troppo?
Grazie infinite...
 

Akuma

Nuovo Utente
17 Mag 2014
28
0
1
31
Peschiera del Garda (VR)
Ecco,
ora funziona come volevo.
Potresti spiegarmi come fare a filtrare l'input...non è ho idea...Chiedo troppo?
Grazie infinite...

Esempio dovrai filtrare così:

PHP:
$log = $_POST['Tlogin']);
$pass = $_POST['TPass']);

$log_filtrato = $mysql_real_escape_string($log);

$pass_filtrata = $mysql_real_escape_string($pass);

$sql_util = "Select * From tutil  WHERE login = '".$log_filtrato."' AND pass = '".$pass_filtrata."'";

allora ti spiego brevemente e con linguaggio terra terra (per evitare di perderci in inutili paroloni) cosa succede.

Il mysql_real_escape_string è quello che serve più di tutti (a dire il vero c'è una funzione automatica che dovrebbe fare quello che fa il mysql_real_escape_string ma a volte in base all' host ecc.. potrebbe essere disabilitato ed a mio consiglio è sempre meglio farlo manualmente e disattivare l'automatico così stai tranquillo), chiusa questa parentesi ti spiego cosa fa; antepone il carattere \ davanti a quei caratteri che possono essere dannosi.

Senza mysql_real_escape_string il tuo script se un utente avesse scritto come log: ant'onio

la query sarebbe diventata:

PHP:
$sql_util = "Select * From tutil  WHERE login = 'ant'

quell' apice come vedi la blocca in quel punto, invece con mysql_real_escape_string:

PHP:
$sql_util = "Select * From tutil  WHERE login = 'ant\'onio' AND pass = 'blablabla';

come vedi eseguendo la query correttamente, naturalmente il \ verrà anteposto solo durante l'esecuzione e non verrà registrato sul database insieme ai dati.

Spero di essermi spiegato il meglio possibile :D
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia Creare una password Snippet Javascript 0
W Recupero password Classic ASP 16
gandalf1959 [PHP] Verifica password per accesso ad area riservata PHP 3
S [OFFRO] Rimozione o aggiunta di Password ai file PDF e opzionalmente loro modifica Offerte e Richieste di Lavoro e/o Collaborazione 2
R password per wi-fi telecamere IP Cam e Videosorveglianza 0
F [php] sicurezza password form login PHP 2
K COMPRO account email italiani con password URGENTE Vendere e Acquistare pubblicita' online 3
W [PHP] Criptare la password con Laravel PHP 1
A Cambio password utente DB Database 0
B Warning: mysql_connect(): Access denied for user 'DIREZIONE'@'81.88.55.179' (using password: YES) PHP 6
S [PHP] estrarre dati sito web protetto con username e password PHP 13
F [Javascript] Verificare la presenza di caratteri speciali in una password Javascript 3
K [PHP] Validazione email e password PHP 1
G password accesso dvr IP Cam e Videosorveglianza 0
R [WordPress] Accesso al db e verifica credenziali (password criptata) WordPress 1
Z Ip cam: password dimenticata. IP Cam e Videosorveglianza 12
ANDREA20 [PHP] Non riesco ad impostare reset password invio via email PHP 6
H Password phpMyAdmin [RISOLTO] Discussioni Varie 11
M password rubata Supporto Mr.Webmaster 0
E [PHP] Reindirizzamento pagina se la password immessa è corretta PHP 9
W [ASP] Password Login per area riservata Classic ASP 13
P [PHP] come criptare una password in un form di registrazione PHP 4
P [PHP] Confrontare due password e due email PHP 4
P verifica caratteri per email e password PHP 17
M Evitare la compilazione automatica NomeUtente e Password con Chrome PHP 2
N Reset password e remind user con Chronoforms Joomla 0
HolidaySoft.it WCF Custom Security con User e Password .NET Framework 2
D Sorgente Pagina PHP protetta da password PHP 2
J Per legge il webmaster deve dare la password al cliente? Leggi, Normative e Fisco 1
M problemino legale: farsi dare le password dai precedenti gestori del sito. Leggi, Normative e Fisco 0
felino [FileZilla] Esportare gestione siti con password in chiaro Windows e Software 16
P VBulletin password dimenticata CMS (Content Management System) 0
P Controllo password Javascript 3
L form username e password Classic ASP 4
M Decryptare password PHP 1
I username e password per il database PHP 4
M Script php login con password in scadeza ogni tre mesi PHP 2
L Gestire password utenti registrati. Quale codifica? PHP 23
R pagina protetta con più password! PHP 19
filomeni Due Login con stessa password PHP 1
N Invio password ad utenti registrati PHP 8
J Password reset messaggio di successo o di errore PHP 0
J Codeigniter password dimenticata PHP 0
A Suggerimenti gestione form con password HTML e CSS 2
S password nulla Linux e Software 2
F Problema con funzione cambia password PHP 5
K immissione password per una pagina PHP 8
leopardinoz autorizzare l'invioo di un form mediate password è possibile? PHP 25
D Validazione password javascript non fuziona Javascript 7
Z Problema con pagina di autentificazione mediante password PHP 0

Discussioni simili