Newsgroup: it.comp.www.php
Titolo: registrazione/gestione utenti, alcuni dubbi..

Ciao, vorrei qualche vostro pare su come implemetare la 
registrazione/gestione utenti.
Un ipotetico piccolo sito di e-commerce, gli utenti per poter 
utilizzare il carrello devono registrasi inserendo, oltre a i dati 
personali, login e passwd. Potremmo dire "un classico"...
Il dubbio è, se un utente inserisce login e passwd già utilizzati da un 
altro utente, come conviene comportarsi? Accettare login e passwd e 
utilizzare un altro parametro (quale?) per diversificare/riconoscere 
l'utente o avvertirlo che i dati inserite non vanno bene e deve 
cambiarli? Nel secondo caso, indipendentemente dal msg utilizzato, se 
uno è appena appena un po' furbo, capisce la situazione e 
automaticamente viene in possesso dei dati di un altro utente.
I dati verrebbero memorizzati in un db, eventualmente criptati..
Cosa mi consigliate di fare? Per la criptazione uso md5()?
Ciao e grazie.
-- 
***  Per E-mail rimuovi ModE dall'indirizzo  ***
  *** Linux user # 198661 --- ICQ 33500725 ***
*** homepage 
http://web.tiscalinet.it/kailed
 ***
            *** Powered by Linux ***

Mi sembra difficile che uno riesca ad azzeccare sia username che password...
e se anche sapesse quale dei due ha azzeccato ce ne vorrebbe un po' per
riuscire ad azzeccare anche l'altra. In più anche se mettessi un sistema di
spedizione in mail della pass dimenticata il messaggio certo non arriverebbe
a lui.
Stare sul generico nell'indicare quale dato è già esistente può essere
noioso per il cliente, pensa che se l'utente non sa quale dei due deve
correggere potrebbe stare anche mezz'ora davanti al browser prima di capirci
qualcosa, e di gente così ce n'è :)...
se usi md5() non mi sembra che si possa poi decriptare la password una volta
inserita nel db, cosa che magari potrebbe esserti utile per rimandare la
password a chi se la è dimenticata (se invece è possibile mi postate come?).
Comunque per identificare l'utente dovresti aggiungere un id unico nel
database, ovviamente solo per controlli lato server, così sei sicuro che a
quella persona corrisponde solo quel profilo, oppure il timestamp di
registrazione (anche se è un po' lungo per il caso...)
Al limite potresti generare automaticamente tu la password, in modo da
dimezzare le probabilità: può anche aver scelto lo stesso username di un
altro, ma come fa a saperne la pass (si ritorna al punto 1)? Poi potrebbe
cambiarla quando gli pare dal suo profilo (e se ne sceglie una già esistente
non può sapere a chi corrisponde, e certo non può avere così culo da aver
scelto la stessa pass di quello che aveva scelto il suo stesso username alla
registrazione :))) ) (si ritorna sempre al punto 1).
E poi maggiore è il numero minimo di caratteri della password, minori sono
le probabilità di azzeccarci (come sulla 24ore ;D).
Ciao

 che a quella persona corrisponde solo quel profilo, oppure il
Questo di sicuro..
Ti ringrazio anche se i dubbi mi sono rimasti:)
Ciao.


se hai ancora dubbi posta... il ng è fatto apposta :)
cmq devi anche considerare che php è un linguaggio server-side...
in ogni caso di furbacchioni in giro ce ne sono a palate, e se vogliono
possono!

scusa... non avevo visto i quote in mezzo al testo ;p
per i tipi di crittazione guarda le funzioni di mcrypt:
http://www.php.net/manual/it/ref.mcrypt.php
per il messaggio credo che un semplice "dato tal dei tali non valido,
cambiare e rimandare" possa andare bene.
E' giusto preoccuparsi di queste cose, ma forse stai dando eccessivo peso
alla questione: tieni presente inoltre che criptare le pass o altri dati
serve alla sicurezza del db e alla privacy del cliente a livello server, per
tutelare i dati personali nel caso qualcuno riesca ad avere accesso ai dati
del db: quando il cliente mette la password la invia decriptata, e il
controllo avviene su quella criptata, quindi che sia criptata o meno cambia
poco per quel che riguarda lo scoprire l'esistenza di un dato già scelto da
un altro utente.
leggi anche il post "passaggio sicuro di parametri" del 28/01 poco sotto
ciao

 
http://www.php.net/manual/it/ref.mcrypt.php
Ok, grazie.
