Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22626 > unrolled thread
| Started by | ^Bart <gabriele1NOSPAM@hotmail.com> |
|---|---|
| First post | 2019-04-11 00:27 +0200 |
| Last post | 2019-04-12 16:49 +0200 |
| Articles | 8 — 4 participants |
Back to article view | Back to it.comp.www.php
Login con PDO ^Bart <gabriele1NOSPAM@hotmail.com> - 2019-04-11 00:27 +0200
Re: Login con PDO Alessandro Pellizzari <shuriken@amiran.it> - 2019-04-11 10:34 +0100
Re: Login con PDO Enrico Maria Chellini <bitit@bitit.it> - 2019-04-11 18:31 +0200
Re: Login con PDO Alessandro Pellizzari <shuriken@amiran.it> - 2019-04-11 18:29 +0100
Re: Login con PDO Enrico Maria Chellini <bitit@bitit.it> - 2019-04-12 12:00 +0200
Re: Login con PDO Roberto Tagliaferri <tagliaferri@bofhland.org> - 2019-04-12 17:03 +0200
Re: Login con PDO Alessandro Pellizzari <shuriken@amiran.it> - 2019-04-12 16:27 +0100
Re: Login con PDO ^Bart <gabriele1NOSPAM@hotmail.com> - 2019-04-12 16:49 +0200
| From | ^Bart <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2019-04-11 00:27 +0200 |
| Subject | Login con PDO |
| Message-ID | <q8lqkv$18k1$1@gioia.aioe.org> |
Salve, stavo dando un'occhiata a questo sito: https://www.9lessons.info/2016/04/php-login-system-with-pdo-connection.html Il file config.php contiene i dati per l'autenticazione al database mentre non ho capito come il codice html per il login riesca a leggere i dati di login e password contenuti nella tabella users di esempio! Saluti. ^Bart
[toc] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2019-04-11 10:34 +0100 |
| Message-ID | <gh8g1vFntueU1@mid.individual.net> |
| In reply to | #22626 |
On 10/04/2019 23:27, ^Bart wrote: > Il file config.php contiene i dati per l'autenticazione al database > mentre non ho capito come il codice html per il login riesca a leggere i > dati di login e password contenuti nella tabella users di esempio! L'HTML non deve mai sapere login e password nel DB. L'HTML passa login e password inseriti dall'utente a PHP, che critta la password e poi cerca nel DB se esiste qualcosa con quello specifico login E quella password crittata. Se esiste è loggato, altrimenti no. Quel codice è relativamente insicuro, Consiglio su usare password_hash() al posto di hash() https://www.php.net/manual/de/function.password-hash.php https://stackoverflow.com/questions/30279321/how-to-use-password-hash Questo permette non solo di avere livelli multipli di hashing (e quindi rendere più costoso decrittare le password), ma anche di aumentare il livello di crittazione mantenendo la compatibilità con le password già salvate nel DB. Bye.
[toc] | [prev] | [next] | [standalone]
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2019-04-11 18:31 +0200 |
| Message-ID | <20190411183141.17d1cd95@nntp.aioe.org> |
| In reply to | #22627 |
Il giorno Thu, 11 Apr 2019 10:34:49 +0100 Alessandro Pellizzari <shuriken@amiran.it> ha scritto: > On 10/04/2019 23:27, ^Bart wrote: > > > Il file config.php contiene i dati per l'autenticazione al database > > mentre non ho capito come il codice html per il login riesca a > > leggere i dati di login e password contenuti nella tabella users di > > esempio! > > L'HTML non deve mai sapere login e password nel DB. > > L'HTML passa login e password inseriti dall'utente a PHP, che critta > la password e poi cerca nel DB se esiste qualcosa con quello > specifico login E quella password crittata. Se esiste è loggato, > altrimenti no. > > Quel codice è relativamente insicuro, Consiglio su usare > password_hash() al posto di hash() > > https://www.php.net/manual/de/function.password-hash.php > > https://stackoverflow.com/questions/30279321/how-to-use-password-hash > > Questo permette non solo di avere livelli multipli di hashing (e > quindi rendere più costoso decrittare le password), ma anche di > aumentare il livello di crittazione mantenendo la compatibilità con > le password già salvate nel DB. > > Bye. è più sicuro password_hash , sh1 o md5? Enrico
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2019-04-11 18:29 +0100 |
| Message-ID | <gh9broFts81U1@mid.individual.net> |
| In reply to | #22628 |
On 11/04/2019 17:31, Enrico Maria Chellini wrote: > è più sicuro password_hash , sh1 o md5? È una domanda trabocchetto? :D md5 è ormai considerato insicuro da un pezzo. Ci sono rainbow tables che craccano praticamente qualsiasi password. sha1 ancora non ha rainbow tables complete (AFAIK), ma un certo numero di password sono craccabili facilmente, e con l'aumento della potenza dei computer (e delle GPU) diventerà sempre più semplice un attacco di brute force. password_hash applica diversi hash in sequenza, quindi per craccare la password devi applicare gli stessi hash, nella stessa sequenza, per lo stesso numero di volte. Se applichi, per esempio, 20 hash, anche se sono banali md5 stai già rendendo 20 volte più lento il processo di brute force. Per come sono salvati gli hash nel DB, se chiami password_verify su una password "vecchia" la verifica lo stesso, e se ci chiami password_needs_rehash ti dice anche se devi aggiornarla. Quindi sì, password_hash è più sicuro di qualsiasi algoritmo di hashing preso da solo, proprio perché ne applica più di uno :) Bye.
[toc] | [prev] | [next] | [standalone]
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2019-04-12 12:00 +0200 |
| Message-ID | <20190412120035.0e17b263@nntp.aioe.org> |
| In reply to | #22629 |
Il giorno Thu, 11 Apr 2019 18:29:28 +0100 Alessandro Pellizzari <shuriken@amiran.it> ha scritto: > On 11/04/2019 17:31, Enrico Maria Chellini wrote: > > > è più sicuro password_hash , sh1 o md5? > > È una domanda trabocchetto? :D > > md5 è ormai considerato insicuro da un pezzo. Ci sono rainbow tables > che craccano praticamente qualsiasi password. wordpress usa ancora md5 se non erro > > sha1 ancora non ha rainbow tables complete (AFAIK), ma un certo > numero di password sono craccabili facilmente, e con l'aumento della > potenza dei computer (e delle GPU) diventerà sempre più semplice un > attacco di brute force. > > password_hash applica diversi hash in sequenza, quindi per craccare > la password devi applicare gli stessi hash, nella stessa sequenza, > per lo stesso numero di volte. Se applichi, per esempio, 20 hash, > anche se sono banali md5 stai già rendendo 20 volte più lento il > processo di brute force. > > Per come sono salvati gli hash nel DB, se chiami password_verify su > una password "vecchia" la verifica lo stesso, e se ci chiami > password_needs_rehash ti dice anche se devi aggiornarla. > > Quindi sì, password_hash è più sicuro di qualsiasi algoritmo di > hashing preso da solo, proprio perché ne applica più di uno :) grazie .. :) Enrico
[toc] | [prev] | [next] | [standalone]
| From | Roberto Tagliaferri <tagliaferri@bofhland.org> |
|---|---|
| Date | 2019-04-12 17:03 +0200 |
| Message-ID | <q8q9cd$1and$1@gioia.aioe.org> |
| In reply to | #22629 |
Alessandro Pellizzari wrote: > On 11/04/2019 17:31, Enrico Maria Chellini wrote: > >> è più sicuro password_hash , sh1 o md5? > > È una domanda trabocchetto? :D > [...] > > Quindi sì, password_hash è più sicuro di qualsiasi algoritmo di hashing > preso da solo, proprio perché ne applica più di uno :) > > Bye. Ciao, il modulo bcrypt di postgres come ti sembra rispetto ad usare php (quindi leggere comunque il record per poi controllare la password con la funzione PHP piuttosto che fare la query direttamente e scaricare il dato solo se la password è esatta)? -- Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)tosnet.it www.robyt.eu
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2019-04-12 16:27 +0100 |
| Message-ID | <ghbp3oFfd64U1@mid.individual.net> |
| In reply to | #22633 |
On 12/04/2019 16:03, Roberto Tagliaferri wrote: >> Quindi sì, password_hash è più sicuro di qualsiasi algoritmo di hashing >> preso da solo, proprio perché ne applica più di uno :) > Ciao, il modulo bcrypt di postgres come ti sembra rispetto ad usare php > (quindi leggere comunque il record per poi controllare la password con la > funzione PHP piuttosto che fare la query direttamente e scaricare il dato > solo se la password è esatta)? Premettendo che non sono esperto di crittazione, e quello che so l'ho imparato un po' sulla mia pelle, un po' sulla pelle degli altri... :) bcrypt mi pare si basi sullo stesso principio di password_hash (anzi, è il viceversa): hashare e re-hashare più volte, in modo da rendere costoso il tentativo di cracking. Quindi a livello di sicurezza penso siano equivalenti (a parità di algoritmo di hashing e di costo). Il vantaggio di usare password_hash da PHP è che puoi usare password_needs_rehashing per verificare se devi aggiornare la password, e avendo la password in chiaro in una variabile PHP, è semplice farlo al volo e salvare la nuova password nel DB, mentre con bcrypt fatto da Postgres non so se/come si possa fare. Bye.
[toc] | [prev] | [next] | [standalone]
| From | ^Bart <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Date | 2019-04-12 16:49 +0200 |
| Message-ID | <q8q8h0$16us$1@gioia.aioe.org> |
| In reply to | #22627 |
> L'HTML non deve mai sapere login e password nel DB. > > L'HTML passa login e password inseriti dall'utente a PHP, che critta la > password e poi cerca nel DB se esiste qualcosa con quello specifico > login E quella password crittata. Se esiste è loggato, altrimenti no. Ok! > Quel codice è relativamente insicuro, Consiglio su usare password_hash() > al posto di hash() Ok! > Questo permette non solo di avere livelli multipli di hashing (e quindi > rendere più costoso decrittare le password), ma anche di aumentare il > livello di crittazione mantenendo la compatibilità con le password già > salvate nel DB. Grazie per tutte le info! :) > Bye. Saluti! ^Bart
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web