一直都发现,LAMP 默认是可以跨目录的。也就是说,一个 PHP 文件管理器在 /var/www/
下面,那么默认情况下,它可以访问 /var
,哦不对,是任意文件。
上次换成 LNMP,发现每个文件夹下面都多了一个 .user.ini
,才知道原来可以防止跨目录。
Nginx
.user.ini
好像是 FastCGI/FPM 什么专用的。写法很简单:
open_basedir=/path/to/your/site/root/dir:/tmp/:/proc/
如果程序不需要执行类似于 phpinfo
这样的语句的话,最后的 :/proc/
可以不需要。
Apache
Apache 里面就不能使用 .user.ini
了。所以直接写道 vhosts
里面就好。
php_admin_value open_basedir "/path/to/your/site/root/dir:/tmp/:/proc/"
然后重启 apache。
发表回复