Newsgroup: it.comp.www.php
Titolo: safe_mode on

Cari amici datemi un vs parere:
Nel lavoro che stiamo ultimando, ogni volta che attraverso l'apposito tool
creiamo un nuovo user, lo script php sottostante crea delle directory e vi
trasferisce dei file. Fin qui nessun problema.
Il fatto particolare è che entrando in ftp non riusciamo più ad agire su qs
directory (questo , in parte, è comprensibile per un gioco (strano) di
permessi ...anche se è la prima volta che mi capita, pur avendo in gestione
diversi server virtuali di altri fornitori).
Il fatto ancora più strano è che neanche il php riesce ad interagire con i
file che lui stesso ha creato (quando ad esempio tenta di riscrivere un
file, oppure quando, cancellando un user, dovrebbe avvenire la cancellazione
delle relative directory), dando il seguente warning:
Warning: SAFE MODE Restriction in effect. The script whose uid is 2759 is
not allowed to access ./cartella/config.php owned by uid 20 in
/home/............................../builder.php on line 67
...ecco la riga 67 dello sciprt:
$mod=fopen("./$userid/config.php","w");
eseguendo phpinfo, alla voce safe_mode noto che sono su ON (in local value)
...e questo mi sembra strano...E' questa l'origine dei problemi?
Grazie
Alex

 ha scritto nel messaggio
news:fNOC8.44102$zW3.5...@news1.tin.it...

uhm...  generalmente per un semplice fopen il safe mode non dovrebbe rompere
le balle...
ma probabilmente siccome fai un giro di creazione cartelle, copia file, ecc.
allora protrebbe darti si problemi...
la soluzione è mettere safe mode OFF ...
tanto non "saffa" un cavolo, rompe solo le balle :)
Ciao
Alex

 tanto non "saffa" un cavolo, rompe solo le balle :)
Dillo a chi ti fornisce l'hosting che non serve a niente, e vediamo cosa ti
risponde...

 ha scritto nel messaggio
news:cl1hba...@pinguin.topper.home...

io fortunatamente non mi metto sotto hoster incompetenti che hanno la mania
del "SAFE" !
anzi sotto nessun hoster, faccio l'hoster di me stesso...
è la verità, in termini di sicurezza il safe mode non cambia nulla...
restringe semplicemente l'utilizzo di alcune (molte) funzioni php...
è inutile, se gli hoster hanno paura che qualcuno faccia casino con safe
mode off si sbagliano perchè basterebbe prendere un bel cgi ed ecco che già
la pigliano nel di dietro...
il vero problema sono i permessi :) se Apache gira come nobody allora è
innocuo... perchè "tutti" i processi e i file di configurazione sono di root
:-))
il safe mode è una gran cagata del php, questo va detto :)
va beh, se avete voglia di restringere l'utilizzo di alcune funzioni allora
è diverso, ma non incide più di tanto sulla sicurezza del sistema!
Ciao
Alex

 innocuo... perchè "tutti" i processi e i file di configurazione sono di
root
Il problema non è tanto "Io sono l'amministratore di sistema e non volgio
che mi fai casini sul server, tipo modificarmi i files di sistema" perchè
come giustamente dici se non fai partire apache come root questo non può
succedere...il problema è evitare che chiunque abbia un sito e la
possibilità di pubblicare pagine php o cgi sul server non possa andare a
leggere i files degli altri utenti. Se non abiliti il safe-mode io con php
posso andare a leggere le pagine degli altri utenti, e modificare quelle che
per qualche ragione particolare hanno il permesso diwrite da parte
dell'utente apache...capisci che questo non è bello, anche solo l'accesso il
lettura, vuol dire che se tu hai un files contenente le password per
l'accesso al database uno te le becca....


Si, forse solo per quest'ultimo problema...
ma il safe mode funziona in HTTPS ? perchè ad esempio ho visto dei server
dove girano dei pannelli di amministrazione scritti in php pur avendo safe
mode attivo (la differenza è che il pannello gira in https) ...
Oppure, cosa più interessante, ma non so se si puo' fare, è attivare il safe
mode solo su alcuni vhosts di apache e su altri no... se po fa ?
se si puo' fare forse gli si puo' dire anche che gli script php di quel
vhosts possono leggere solo nella loro cartella utente...
Ciao
Alex

 vhosts possono leggere solo nella loro cartella utente...
Si, è possibile attivare il safe mode solo su determinati vhost, ma non ho
trovato il modo di direa ad uno script php di stare dentro la document root
di apache se non abilitando appunto il safe mode, che però fa questo
guardando i permessi dei files e non la directory dove si trova...purtroppo
secondo me se vuoi mettere in piedi un server sicuro devi limitare molto gli
utenti, vedi attivare il safe mode e vietare l'utilizzo di cgi a
sproposito...

 ha scritto nel messaggio
news:fb5jba...@pinguin.topper.home...

Grazie
Alex

 Alex
beh ? che fai ? rispondi al mio posto ? :-)))
Ciao
Alex


gia rimane cmq sempre il problema dei cgi... che indipendentemente dal php
potrebbero leggere in un'altra cartella :-/
ma la open_basedir restriction cos'è ? vedo che salta fuori quando cerci di
leggere una dir con safe mode on...
pensavo che fosse questa la direttiva per dirgli quali cortelle puo' aprire
e quali no...
Ciao
Alex