Red Hat 8.0上有运行PHP权限的Apache的虚拟主机安全问题。

王朝厨房·作者佚名  2007-01-05
宽屏版  字体: |||超大  

我先简单说说我的配置过程一下:

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)内容如下:

<?php

include "../www.bbb.com/2.php";

echo $file;

?>

在 www.bbb.com 下有个2.php文件,内容如下:

<?php

$file="2.php";

?>

C、apache的httpd.conf的虚拟主机设置如下

<VirtualHost 127.0.0.1>

ServerAdmin sc@lin.net.cn

DocumentRoot /var/www/html/www.aaa.com/

ServerName www.aaa.com

</VirtualHost>

<VirtualHost 127.0.0.1>

ServerAdmin sc@lin.net.cn

DocumentRoot /var/www/html/www.bbb.com/

ServerName www.bbb.com

</VirtualHost>

重启动apache后,在IE中看http://www.aaa.com/1.php的输出结果是:2.php

这说明 www.aaa.com 虚拟主机中的文件已经读取了它目录以外的文件。如何防止这种情况的出现?

我试图将

<VirtualHost 127.0.0.1>

ServerAdmin sc@lin.net.cn

DocumentRoot /var/www/html/www.aaa.com/

ServerName www.aaa.com

</VirtualHost>

改为

<VirtualHost 127.0.0.1>

ServerAdmin sc@lin.net.cn

DocumentRoot /var/www/html/www.aaa.com/

ServerName www.aaa.com

<Directory "/var/www/html/www.aaa.com/">

php_admin_value safe_mode 0

php_admin_value open_basedir "/"

</Directory>

</VirtualHost>

可是这样一改。Apache就报错,启动不了。

请问我改怎么做?才能达到每个虚拟主机下的PHP文件只能读取其根文档下(如 /var/www/html/www.aaa.com/ )的文件,谢谢!

另:我在win2000上也遇到一样的情况:http://chinaunix.net/forum/viewtopic.php?t=158615&highlight=myblessu

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有