參考: http://www.php.net/manual/zh/features.safe-mode.php
1.全局設(shè)定 修改php.ini
safe_mode on open_basedir .
2.單獨(dú)用戶設(shè)定 除了php.ini中的全局設(shè)置以外...在虛擬主機(jī)中還可以通過上面的設(shè)置,把php的權(quán)限設(shè)置在每個(gè)用戶的特殊目錄中...
httpd.conf中的設(shè)置
<directory /usr/local/apache1.3/htdocs/i_amok> php_admin_value open_basedir /usr/local/apache1.3/htdocs/i_amok php_admin_value safe_mode 0 #0表示取消safe_mode #open_basedir表示把/usr/local/apache1.3/htdocs/i_amok這個(gè)目錄下的php #打開文件的權(quán)利限制在/usr/local/apache1.3/htdocs/i_amok目錄了 </directory>
還有safe_mode on的時(shí)候權(quán)限是有用的...就是說php在執(zhí)行的時(shí)候會(huì)檢查php文件的屬主和被操作文件的屬主是否一致(uid),如果不一致就不會(huì)執(zhí)行...所以建立php文件的時(shí)候不要用root帳戶.....一不小心..你的機(jī)子就廢了...
3.vhost的設(shè)置
<VirtualHost *> DocumentRoot /usr/local/apache1.3/htdocs/i_amok ServerName iamok.be10.net CustomLog "|/usr/local/sbin/cronolog /usr/local/apache1.3/logs/access_log_iamok.net_%W" common php_admin_value safe_mode 0 php_admin_value open_basedir /usr/local/apache1.3/htdocs/i_amok:/tmp:/proc </virtualhost>
在vhost中這樣設(shè)置..不要用directory框住php_admin_value了..因?yàn)関host標(biāo)簽就替代了directory的作用了
4.禁止php http://www.php.net/manual/en/ref.apache.php
在httpd.conf中的適當(dāng)位置,放一個(gè) engine off 就可以了
|