当前位置:编程学习 > php >>

nginx+php 限制每个站点的目录范围,防止跨站

php.ini中的open_basedir参数,设置这个参数即可限定php脚本的访问范围。

open_basedir=/home/wwwroot/:/tmp/

将php限制在所有站点的父目录,这样至少阻止了php访问服务器上web目录以外的目录。

到了这里,还是有隐患的,只要wwwroot下任意一个站点被拿到webshell,那么其他站点将不能幸免.

那就是在nginx 每个server下,加上

fastcgi_param  PHP_VALUE  "open_basedir=$document_root:/tmp/"; 

重启nginx,成功!你也可以把这行代码放到fastcgi.conf里,前提是你得在server{}中包含它。

至此,nginx + php5.3 是没有问题了。

然后我又在另外一台vps上,环境是php5.2 发现此方法不生效

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,