Esatto, ed è per questo che l'utente con cui gira Apache deve avere permessi davvero minimi (e linux sa cosa proteggere, in tutto il filesystem... rendendolo di default "invisibile" a tale utente). E fin qui ci siamo.Originariamente inviato da nik600
tramite le varie funzioni di accesso al file system (dir(),mkdir(),rmdir(),read()....) nulla vieta a chi può eseguire una pagina php sul server di andare e scopiazzarsi in giro sul filesystem del server tutte le info che gli interessano!
Voi direte, no solo dove l'utente con cui gira apache può leggere, scrivere, eseguire
Non sono un fan di queste cose [ho sempre e solo usato server dedicati], ma la direttiva open_basedir credo possa essere associata a distinti VHost. E questa farebbe al caso tuo (in teoria).Ok, è vero, ma supponiamo che vi siano 2 virtual host, entrambi avranno sicuramente almeno il permesso di lettura per l'utente daemon, nobody, o quello con cui gira apache!
E quindi nulla vieta ad un virtualhost di leggere le password di connessione al db (ad esempio..) presenti in un altro virtual host!
Come si può ovviare a questo problema?
In ogni modo, per la domanda sui file di password di connessione al db, beh, il mio consiglio è quello di "zendare" tutti i file php, compresi i file di pwd (OVVIAMENTE le pwd le inserisci in file php vero?).