Newsgroup: it.comp.www.php
Titolo: Password database

Spero di non postare un argomento ritrito, però mi è venuto un grosso
dubbio:
Gestisco un server che ospita un database postgres che aggiorno tramite
maschere in php.
Poiché non ci sono (in questo periodo) altri utenti, non mi sono posto
neanche il problema di mettere una password sul database. Ma se in futuro,
come è già capitato, altri utenti dovessero pubblicare le proprie pagine
web, dovrei per forza di cosa inserire una password... problema:
la funzione pg_connect() mi obbligherebbe a mettere la password in chiaro...
un altro utente potrebbe scriversi una pagina simile in php e gestirsi il
database un po' come gli pare. Potrei mettere la password in una variabile
contenuta in un file include con permessi di lettura riservati all'utente
www (quello con cui gira l'apache e quindi il php) ma il problema potrebbe
essere comunque aggirato: l'utente potrebbe includere tale file nelle
proprie pagine e, pur non conoscendo la password, comunque potrebbe fare
tutto.
 L'unica soluzione che mi è venuta in mente è quella di inserire la password
del database ogni volta tramite una form... scomodo però.
C'è una soluzione più semplice ?
grazie in anticipo.
Alx

> C'è una soluzione più semplice ?
Non è che conosca molto pg, ma mi sembra abbastanza impossibile tu non possa
specificare (come avviene in mysql) password diverse per ogni database (o
ogni tabella) rispetto a quella di amministrato.
E cmq l'altra soluzione è passare a me il file di connect che te lo crypto
:))
eheh
J

"J" <jj@thecloud.o> ha scritto nel messaggio
news:a47qtr$cm0$1...@serv1.iunet.it...



Confermo la possibilita' di inserire UID/PWD diverse per ogni DB/TABLE con
pg
riporto dal manuale di pgSQL
<----- CREAZIONE UTENTE ----->
CREATE USER
Name
CREATE USER  --  Creates a new database user
Synopsis
CREATE USER username
    [ WITH
     [ SYSID uid ]
     [ PASSWORD 'password' ] ]
    [ CREATEDB   | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
    [ IN GROUP     groupname [, ...] ]
    [ VALID UNTIL  'abstime' ]
Usage
Create a user with no password:
CREATE USER jonathan
Create a user with a password:
CREATE USER davide WITH PASSWORD 'jw8s0F4'
Create a user with a password, whose account is valid until the end of 2001.
Note that after one second has ticked in 2002, the account is not valid:
CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL 'Jan 1 2002'
Create an account where the user can create databases:
CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB
per quanto riguarda i permessi preferisco non fare il paste del comando e
do' il link dell'help in linea
http://www.postgresql.org/idocs/index.php?sql-grant.html

 :))
:-)


beh, naturale che in questi casi bisogna creare nuovi utenti
anche per il server web, nel senso che bisogna creare nuove
directory user sul tuo server linux (ad esmepio),e nuove
directory www all'interno delle quali inserire i file del
sito dell'utente. Quindi, ognuno deve  inserire i file a cui
può avere accesso. Se le pagine sono inserite in una stessa
directory, non c'e' soluzione credo. Ognuno in ftp avrà
accesso ai file di ognuno.
-- 
WEbdOM webmaster di
Metronic.It mobile phone philosophy
www.gadgetpoint.it
 serigrafia on line

 accesso ai file di ognuno.
Il mio dubbio è questo: correggetemi se sbaglio, ma una pagina php, per
funzionare, deve avere permessi di lettura per tutti (a meno che non
appartiene proprio all'utente www, ma questo è da escludersi visto che
stiamo valutando l'ipostesi di avere più utenti che inseriscono pagine web),
quindi pur avendo un account differente, posso leggere il sorgente della
pagina in php scritta da un mio co-utente e copiarne il contenuto ai fini
della connessione al suo database. Se creassi uno script con permessi
rw------- l'apache mi darebbe l'errore 403 "Forbidden".
ciao,
Alx


 necessari per la connessione e siamo punto e a capo.
Basta che nel file di connect ci sia un controllo per esempio sulla
$SERVER_NAME no ? Almeno gira solo su quello specifico dominio.
J