Unmantained Guida [RELEASE][Linguaggio PHP]Creare Password Algoritmo MYSQL & Un Idea per la sicurezza dei vostri siti.

Una guida contrassegnata come Unmantained contiene informazioni su un argomento obsoleto, non più utile o files non aggiornati da parte del creatore.
Stato
Discussione chiusa ad ulteriori risposte.

Veronica Gainer

Utente Electrum
19 Gennaio 2012
237
25
39
117
Ultima modifica da un moderatore:
Vi voglio riferire una piccola cosa.

Prima pero passiamo alla release:

Come generare password MYSQL in php senza utilizzare query e collegamenti al database.

PHP:
<?php
function Password($password){
    return "*".strtoupper(sha1(sha1($password, 1), 0));
}
?>

Vediamo se funziona:

PHP:
echo Password("12345");

Rimasti male molti di voi eh? Pensavate che i founder di mysql fossero delle persone brave, ma in realta è uno sha1 digest + sha1 hexdigest + un strtoupper + un "*" davanti.

Adesso parliamo seriamente perchè UTILIZZARE QUESTA FUNZIONE.

Vi siete mai chiesti che fine fanno i cookie?

Eheheh vengano salvati nel browser LOL
(lo sa anche mia nonna)

Allora ogni volta che utilizzate cookie, sessioni nei login x salvare i dati

alla password metteteci un bel "Password($pass)" in modo che viene salvata criptata.

Voi non lo sapete ma io con 1 mio programmino in py, entro nella folder di chrome dove vengano salvati cookie etc, e li prendo :)

MOLTI INFATTI IN QUESTO MODO MI HANNO FORNITO GRATUITAMENTE I LORO DATI DI MOLTI SERVER PRIVATI, E DI TANTI ALTRI SITI :)

Infatti un piccolo esempio per chi non ha capito:

Voi avete il bel vostro sito con:

PHP:
<?php
$_SESSION["password"]=$password;
?>

Cambiate in:

PHP:
<?php
$_SESSION["password"]=Password($password);
?>

Avete una query x controllare le password?

No Problem levate il password=Password('$pass') nella query mettendo semplicemente un password='$pass'.

PROVARE PER CREDERE.
 
Ultima modifica:
Vi ricordo ovviamente che sha1 puo essere reversato, quindi i miti sul non risalire alla password mysql spero siano spariti da oggi :)
 
È ancora errato. Non esistono modi che ritornino esattamente a partire da un digest di qualunque algoritmo quello che è effettivamente l'input passato all'algoritmo stesso. Considerato che l'output del 99% degli algoritmi di digest è a output di dimensione costante è più che ovvio che si crea una condizione in cui gli output possibili sono di numero limitato mentre (ovviamente) gli input sono illimitati. Questo significa che anche se si riesce ad ottenere tramite bruteforcing o rainbow tables una corrispondenza, non significa che sia quella corretta.
 
È ancora errato. Non esistono modi che ritornino esattamente a partire da un digest di qualunque algoritmo quello che è effettivamente l'input passato all'algoritmo stesso. Considerato che l'output del 99% degli algoritmi di digest è a output di dimensione costante è più che ovvio che si crea una condizione in cui gli output possibili sono di numero limitato mentre (ovviamente) gli input sono illimitati. Questo significa che anche se si riesce ad ottenere tramite bruteforcing o rainbow tables una corrispondenza, non significa che sia quella corretta.
Lo dici te :)
 
Uhm good, non mi ero mai informato sul source della funzione password() di mysql, perché la reputo insicura(se eseguita sulla database machine). Un'altra pillola di saggezza appresa.
 
Ti consiglio di usarla in questo modo:
function mysql_password_hash($input, $hex = true){// Calcola Hash della password; uguale a PASSWORD($str) di mysql.
$sha1_stage1 = sha1($input, true);
$output = sha1($sha1_stage1, !$hex);
return $output;
}
 
Ultima modifica:
Perchè in questo modo puoi scegliere se la vuoi in formato binario di 20 o 40, di default è 40. Se non trattasse di metin2 è utile avere il parametro. E se comunque la vuoi utilizzare normalmente puoi fare mysql_passwrod_hash($str);
 
---Mi spieghi che senso ha dichiarare true sull'input per dichiarare false sulla variabile? Io spashio erba XD---

Io ho risposto a te dato che non capivi il senso ;)
 
Ultima modifica:
Quanto la gente finisce le scusanti e non sa come parlare comincia a insultare gratuitamente facendo uscire la propria parte infantile. D'altronde,siamo su inforge.
 
Gainer, fatti una vita, si e no sarai il bambino di walker, hai scritto mezza porcheria su, non ti arrabbiare se uno critica le tue cose, e ricorda che le funzioni inziano in minuscolo di buona norma :)
 
Gainer, fatti una vita, si e no sarai il bambino di walker, hai scritto mezza porcheria su, non ti arrabbiare se uno critica le tue cose, e ricorda che le funzioni inziano in minuscolo di buona norma :)
Non vali mezza cippa, caro mio.
Bambino o no, sei sempre il solito coder spastico che mette su una parte di codice prendendo un file dal cesso.
Dimenticavo sei cosi famoso, che i tuoi script vengano automaticamente cestinati prima dell'esecuzione.

D'altronde il DAVIDE sei tu mica io.
 
Re: [RELEASE][Linguaggio PHP]Creare Password Algoritmo MYSQL &amp; Un Idea per la sicurezza dei vostri siti.

---Mi spieghi che senso ha dichiarare true sull'input per dichiarare false sulla variabile? Io spashio erba XD---

Io ho risposto a te dato che non capivi il senso ;)
Caro mio,forse dovresti rileggere la mia domanda :|

- - - Updated - - -

Ahhahaha sono intervenuti intel e puccio per difendere il loro scripter :asd: Davide...cambia strada :|
 
Sak tu invece hai prodotto qualcosa di molto innovativo ed ecclatante in tutto questo tempo,
ma non farci ridere.
Se siete così bravi come pensate mi chiedo come mai passate le giornate intere su Inforge a fare i sapientoni con ragazzi di 12-13 anni.

Approposito della risposta di Davide secondo me non hai capito niente :

erchè in questo modo puoi scegliere se la vuoi in formato binario di 20 o 40, di default è 40. Se non trattasse di metin2 è utile avere il parametro. E se comunque la vuoi utilizzare normalmente puoi fare mysql_passwrod_hash($str);


Nanne
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom