Re: safe mode/open basedir not working ?

From: Date: Wed, 30 Jun 2004 22:02:07 +0000
Subject: Re: safe mode/open basedir not working ?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-189388@lists.php.net to get a copy of this message
On Wed, 30 Jun 2004 23:50:02 +0200, Marek Kilimajer <lists@kilimajer.net> wrote: > > robert mena wrote --- napísal:: > > Hi, > > > > I host a few virtual domains in apache 2 and use php. > > > > The virtual domain is something like > > > > <VirtualHost a.b.c.d:80> > > ServerAdmin webmaster@domain.com > > DocumentRoot /home/httpd/html/domain.com > > ServerName www.domain.com > > ErrorLog logs/domain.com-error_log > > CustomLog logs/domain.com-access_log combined > > ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ > > <Directory /home/httpd/html/domain.com/> > > AllowOverride AuthConfig Limit > > php_admin_value doc_root "/home/httpd/html/domain.com/" > > php_admin_flag safe_mode on > > php_admin_value open_basedir "/home/httpd/html/domain.com:/tmp/" > > </Directory> > > </VirtualHost> > > > > Recently I had a minor problem with a user that uploaded via ftp a php > > script in his domain and this domain used exec/system etc to call > > perl, read files. > > > > Shouldn't the settings above retrict such thing ? > > > > no, this setting affects only php, not programs executed from php If you have safe mode on, you can set various things to stop this. One is safe_mode_exec_dir. You can specify a directory with binaries the users can run. Anything outside of that PHP won't run. Just set it to a path with no binaries (and no write access fromusers) and they won't be able to run outside programs unless you let them. You can also put some funcitons in disable_functions, such as system() and exec(), poper(), proc_open(), passthru(), and shell_exec(). Disabling shell_exec() also disables backticks (`) (I think). -- paperCrane --Justin Patrin--

« previous php.general (#189388) next »