PDA

View Full Version : [mysql] memorizzazione utenti di un sito


ferro75
01-11-2005, 11:39
Secondo voi dove conviene salvare i dati degli utenti che accedono ad un sito internet (user_ID e password e privilegi) quando il loro numero diventa molto alto, diciamo oltre i 10000 iscritti?
Si continua a metterli nelle tabelle del DB "mysql" o è meglio crearsi le proprie tabelle?
Grazie, ciao.

thundershare
01-11-2005, 11:53
la tabella user del db "mysql" non andrebbe toccata perchè è la tabella degli utilizzatori dei vari db creati. Un sito di solito accede con massimo 1-2 utenti al db, i dati dei tuoi utenti andrebbero in una tabella user del DBDELSITO.

ferro75
02-11-2005, 07:22
OK, allora se ho capito bene devo fare qualche utente generico con i privilegi che voglio concedere ai vari gruppi di utenti del sito (ad esempio se si trattasse di questo forum ci sarebbe un utente "membro", un altro "moderatore", ecc...) e poi passo a questi le query degli utenti che ho registrato nel mio DB?
Però cosa succede se due utenti mandano una query contemporaneamente?
Grazie ancora, ciao.

pinok
02-11-2005, 10:43
Come ti hanno già detto, gli utenti del DB mysql non vanno usati assolutamente per mettere gli utenti del portale.
In quella tabella ci vanno solo gli utenti del database e in teoria, per un DB generico, te ne basterebbero 2: root e utente.
L'utente fa tutto con il DB generico. Cosa fare, a seconda dei diritti di "azione" sul portale lo decide l'applicazione intermedia.
Gli utenti del portale li salvi in un database diverso, in una tabella del tipo:

LOGIN_TABLE
ID autoincrement
LOGIN varchar (login dell'utente)
PASSWORD varchar (password criptata dell'utente, meglio se non usando la chiamata password del DB ma MD5 o SHA o meglio ancora una libreria analoga del linguaggio di programmazione usato)
NOME_REALE varchar Il nome reale dell'utente
EMAIL varchar L'email dell'utente
DIRITTI smallint Un codice numerico che ti rappresenta i diritti di azione di ogni utente (probabilmente memorizzati in una seconda tabella)

Più tutti i campi di cui avresti bisogno (sesso, data di nascita, ecc)

ferro75
02-11-2005, 14:28
OK, ma mysql permatte di aprire più di una connessione con lo stesso user? Perchè se uso un solo utente generico per accedere ai dati del DB, potrebbe succedere che due utenti del sito facciano una query insieme. Cosa succede a quel punto?

cionci
02-11-2005, 14:44
Sì, permette di farlo...