PDA

View Full Version : [PHP] Sistema login


Traxsung
29-07-2014, 12:43
Buongiorno,
vorrei implementare un sistema di login in php, ma al tempo stesso vorrei qualcosa di sicuro e funzionale.
Cercando in rete ho trovato questo link che sembra davvero interessante...

LINK (http://it.wikihow.com/Creare-uno-Script-Sicuro-per-il-Login-Usando-PHP-e-MySQL)

Che ne pensate? Secondo voi può andar bene o presenta dei problemi/bug ?


Grazie

Daniels118
29-07-2014, 13:07
Non ho letto tutto il codice, a grandi linee sembra corretto.

Traxsung
29-07-2014, 13:20
Intanto ti ringrazio per aver letto e risposto al mio thread.
Avresti qualche link da consigliarmi ?

Grazie

Daniels118
29-07-2014, 14:00
Non saprei, comunque avevo visto male, le password non erano salvate in chiaro.

Traxsung
29-07-2014, 14:05
beh si infatti credo che grazie a sha512.js le password non siano in chiaro.

Daniels118
29-07-2014, 15:00
Quello è lato client, per non trasmettere le password in chiaro sulla rete, poi c'è un ulteriore codifica lato server per il db.

Traxsung
01-08-2014, 14:39
Daniels118 secondo te è possibile modificare questo script in modo da far si che ogni utente abbiamo la propria pagina con i propri dati ?

tomminno
01-08-2014, 15:42
C'è qualcosa che non mi convince. Il client fa l'hash della password, lato server viene confrontata con l'hash presente su db. A tutti gli effetti l'hash è la password, non cambia niente rispetto a confrontare la password in chiaro.

Traxsung
01-08-2014, 16:03
tomminno quindi te dici che è uno script buggato?
Hai qualche altro script da consigliarmi?

Grazie

Daniels118
01-08-2014, 16:48
No, non è buggato.

@tomminno
Cambia, perché la password non viaggia in chiaro, per cui un malintenzionato che riuscisse a catturarla potrebbe riutilizzarla solo su quel sito (considera che l'utente medio utilizza la stessa password per tutti i suoi account).

Inoltre non è corretto per la privacy che il proprietario del sito possa vedere la password egli utenti, peggio ancora se il malintenzionato ha accesso al db.

Traxsung
01-08-2014, 17:32
No, non è buggato.

@tomminno
Cambia, perché la password non viaggia in chiaro, per cui un malintenzionato che riuscisse a catturarla potrebbe riutilizzarla solo su quel sito (considera che l'utente medio utilizza la stessa password per tutti i suoi account).

Inoltre non è corretto per la privacy che il proprietario del sito possa vedere la password egli utenti, peggio ancora se il malintenzionato ha accesso al db.

Ottimo Daniels118
In virtù di questo, sai dirmi come modificare lo script per renderlo multiutente ?

tomminno
01-08-2014, 18:06
No, non è buggato.

@tomminno
Cambia, perché la password non viaggia in chiaro, per cui un malintenzionato che riuscisse a catturarla potrebbe riutilizzarla solo su quel sito (considera che l'utente medio utilizza la stessa password per tutti i suoi account).

Inoltre non è corretto per la privacy che il proprietario del sito possa vedere la password egli utenti, peggio ancora se il malintenzionato ha accesso al db.

Beh do per scontato che qualunque autenticazione viaggi almeno protettta da https. Altrimenti stiamo parlando al massimo di un esercizietto delle superiori.
Anche perchè alla fine il malintenzionato non recupera la password, ma trova l'hash della password che è quello che serve per autenticarsi su quel sito.

Daniels118
01-08-2014, 18:50
Beh do per scontato che qualunque autenticazione viaggi almeno protettta da https. Altrimenti stiamo parlando al massimo di un esercizietto delle superiori.
Dipende dal budget e dal livello di sicurezza necessario, per esempio tu che fai login su questo sito invii ogni volta la tua password su una connessione non sicura, fortuna che il form di login è scritto così:
<form onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)" action="login.php?do=login" method="post">
Non credo che questo forum sia nato come esercizio scolastico.
Anche perchè alla fine il malintenzionato non recupera la password, ma trova l'hash della password che è quello che serve per autenticarsi su quel sito.
Che è appunto quello che ho cercato di spiegare prima, può fare login sul QUEL sito, ma non sugli altri dove l'utente ha utilizzato la stessa password.

Daniels118
01-08-2014, 18:51
Ottimo Daniels118
In virtù di questo, sai dirmi come modificare lo script per renderlo multiutente ?
Che intendi per multiutente? Quello script si appoggia ad un database mysql nel quale vengono censiti gli utenti, c'è anche la funzione di registrazione.

Traxsung
01-08-2014, 19:10
intendo che ogni utente ha possibilità di accedere alla pagina ma visualizza dati differenti...

Daniels118
01-08-2014, 19:15
Sii più specifico, di che dati stiamo parlando? Potrebbero essere record sul database, files, ecc...

Traxsung
02-08-2014, 09:58
Supponiamo che ci sono tre Utenti:

Utente 1
Utente 2
Utente 3


ogni utente da database visualizza dati differenti

per esempio

Utente 1 --> mela
Utente 2 --> pera
Utente 3 --> fragola

Daniels118
02-08-2014, 10:24
Allora dovrai creare delle colonne nella tabella utente, oppure delle tabelle collegate tramite una relazione e scrivere le query e il codice php per estrarre e visualizzare i dati. Ti consiglio di fare una buona lettura sui database relazionali e poi leggere qualche guida su php+mysql.