■サーバの設定
以下のような、「httpd.conf」や「httpd.include」を考えてみる。
<VIrtualHost 0.0.0.0:80> ServerName sample.org <Directory /var/www/httpdocs> <IfModule mod_php5.c> php_admin_value open_basedir "/var/www:/tmp" </IfModule> </Directory> </VirtualHost>
「open_basedir」ではPHPがアクセスできるサーバ上のディレクトリを指定することができる。「none」を設定すれば全てのディレクトリにアクセスできるが、セキュリティが下がるので安易にそのような設定をしてはならない。
■特定の関数を使えなくする
php.iniに以下のように記述することによって、任意の関数を使用できない状態にすることができる。
;Disable functions disable_functions = exec,passthru,shell_exec,system