由 myblessu 在 09-18-2003 17:29 发表:
Red Hat 8.0上有运行PHP权限的Apache的虚拟主机安全问题。
Red Hat 8.0上有运行PHP权限的Apache的虚拟主机安全问题。
我先简单说说我的配置过程一下:
A、我在 /etc/hosts 文件中添加了如下内容
127.0.0.1 www.aaa.com
127.0.0.1 www.bbb.com
B、我在 /var/www/html/ 下建了 www.aaa.com 及 www.bbb.com 两个目录,在 www.aaa.com 下有个PHP文件(1.php)内容如下:
1
2
3include "../www.bbb.com/2.php";
4
5echo $file;
6
在 www.bbb.com 下有个2.php文件,内容如下:
1
2
3$file="2.php";
4
C、apache的httpd.conf的虚拟主机设置如下
1<virtualhost 127.0.0.1="">
2
3ServerAdmin [email protected]
4
5DocumentRoot /var/www/html/www.aaa.com/
6
7ServerName www.aaa.com
8
9</virtualhost>
1<virtualhost 127.0.0.1="">
2
3ServerAdmin [email protected]
4
5DocumentRoot /var/www/html/www.bbb.com/
6
7ServerName www.bbb.com
8
9</virtualhost>
重启动apache后,在IE中看http://www.aaa.com/1.php的输出结果是:2.php
这说明 www.aaa.com 虚拟主机中的文件已经读取了它目录以外的文件。如何防止这种情况的出现?
我试图将
1<virtualhost 127.0.0.1="">
2
3ServerAdmin [email protected]
4
5DocumentRoot /var/www/html/www.aaa.com/
6
7ServerName www.aaa.com
8
9</virtualhost>
改为
1<virtualhost 127.0.0.1="">
2
3ServerAdmin [email protected]
4
5DocumentRoot /var/www/html/www.aaa.com/
6
7ServerName www.aaa.com
8
9<directory "="" html="" var="" www="" www.aaa.com="">
10
11php_admin_value safe_mode 0
12
13php_admin_value open_basedir "/"
14
15</directory></virtualhost>