View Full Version : [PHP & SQL] Connessione al database come utente generico e creazione nuovo utente!
phantom85
21-04-2008, 13:10
Ciao a tutti...
Sto realizzando un progetto con postgreSQL e PHP...
Volevo sapere come si fa a realizzare una connessione da utente generico. In poche parole vorrei che chiunque sul web possa visualizzare alcune informazioni che sono contenute nella base di dati.
E poi vorrei sapere come faccio a creare un nuovo utente della base di dati con alcuni privilegi...in pratica tramite un form di registrazione al sito vorrei che si creasse un utente della base di dati...
Come si fa a realizzare queste due operazioni?
Posto che permettere la creazione di utenti da remoto ha veramente poco senso se non in casi veramente rari, come ad esempio la creazioni di profili di hosting: l'istruzione per la creazione di utenti è CREATE ROLE, per i privilegi c'è l'istruzione GRANT. Le puoi trattare come una qualsiasi istruzione SQL.
phantom85
21-04-2008, 13:40
ok, queste operazioni le devo includere nel codice php?
Forse non sono stato molto chiaro per quanto riguarda l'utente generico: io vorrei che qualsiasi persona che si connetta al sito in questione possa visualizzare alcune informazioni (in particolare in merito a spettacoli teatrali)...
Quando eseguo la pg_conn non posso mettere come utente il superuser ma vorrei appunto sapere se c'è un modo di effettuare una connessione generica al database senza però avere la possibilità di modificare nulla, ma solo di avere informazioni!
Crei un utente per la tua applicazione (lo puoi fare da un client esterno), solitamente basta questo.
L'utente avrà accesso illimitato al solo database relativo al sito web. In tutta la tua applicazione web userai l'utente in questione per creare la connessione.
phantom85
21-04-2008, 17:05
Ti ringrazio per l'aiuto...ricapitolando dovrei:
creare un utente del database e nella pg_conn che uso nel codice della pagina web specificare come utente quello creato.
Spero di aver capito!
Successivamente per creare nuovi utenti del database con funzioni limitate è sufficiente che nel codice php della pagina web specifico i comandi SQL per creare un utente della BD (create user /create role) ?
Ultima cosa...vorrei sapere cosa sono gli utenti di gruppo. Da pgAdmin (il tool di postresql) ho visto che gli utenti sono divisi in utenti e utenti di gruppo...vorrei solo un chiarimento :)
Grazie ancora!
Ciao :)
Solitamente non si creano utenti del database dall'applicazione web, perché ne hai necessità ? Un gruppo sono utenti con credenziali uguali, per evitare di specificare nuovamente le credenziali si inseriscono gli utenti nel gruppo.
khelidan1980
21-04-2008, 17:57
forse sarebbe da chiarire una cosa,lui parla di utenti del db ma secondo me intende gli utenti che usufruiranno dell'applicazione web
forse sarebbe da chiarire una cosa,lui parla di utenti del db ma secondo me intende gli utenti che usufruiranno dell'applicazione web
Infatti...volevo arrivare proprio a quello ;)
phantom85
21-04-2008, 18:18
Scusate la confusione...purtroppo è la prima volta che mi cimento con un progetto del genere ed è abbastanza articolato...
Proverò con un esempio...pensate ad un qualsiasi sito di acquisti online. Dunque se voi vi iscrivete avete accesso a diverse operazion, come visualizzare il vostro profilo o effettuare ordini.
Io devo fare si che dal web chiunque possa registrarsi per accedere a diverse funzioni!
Per fare questo dovrei fare una pagina web per fare inserire i dati e poi gli utenti che accedono autenticati possono accedere ad esempio alla pagine dei loro ordini o al loro profilo (è un esempio, ma è per farci capire!)!
Vi ringrazio per la pazienza
khelidan1980
21-04-2008, 18:27
Scusate la confusione...purtroppo è la prima volta che mi cimento con un progetto del genere ed è abbastanza articolato...
Proverò con un esempio...pensate ad un qualsiasi sito di acquisti online. Dunque se voi vi iscrivete avete accesso a diverse operazion, come visualizzare il vostro profilo o effettuare ordini.
Io devo fare si che dal web chiunque possa registrarsi per accedere a diverse funzioni!
Per fare questo dovrei fare una pagina web per fare inserire i dati e poi gli utenti che accedono autenticati possono accedere ad esempio alla pagine dei loro ordini o al loro profilo (è un esempio, ma è per farci capire!)!
Vi ringrazio per la pazienza
infatti era come pensavamo noi,gli utenti di cui tu parli non sono quelli del db bensì della tua applicazione web,avrai nel tuo db una tabella con all'interno user pass e tutto quello che ti serve poi attraverso un campo di login vai ad indentificare il tuo utente,l'user del db è un'altra cosa,te ne basta uno che va per tutta la tua apllicazione,ed è quello che inserirai in pg_connect ma non ha niente a che fare "logicamente" con gli utenti che usufruiranno del tuo sito.
P.s:si lo so che spiego da cani! :D
phantom85
22-04-2008, 13:17
Ok.Grazie!
Se ho altri problemi vi ricontatto qui!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.