Windows 2000系统上有运行PHP权限的Apache的虚拟主机安全问题。

myblessu 2003-09-10 12:58:57
我先简单说说我的配置一下:

A、我在C:\WINNT\system32\drivers\etc\hosts文件中添加了如下内容
127.0.0.1 www.aaa.com
127.0.0.1 www.bbb.com

B、我在D盘下建了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 d:/www.aaa.com/
ServerName www.aaa.com
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerAdmin sc@lin.net.cn
DocumentRoot d:/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 d:/www.aaa.com/
ServerName www.aaa.com
</VirtualHost>
改为
<VirtualHost 127.0.0.1>
ServerAdmin sc@lin.net.cn
DocumentRoot d:/www.aaa.com/
ServerName www.aaa.com
<Directory d:/www.aaa.com/>
php_admin_value safe_mode 0
php_admin_value open_basedir "/"
</Directory>
</VirtualHost>

可是这样一改。Apache就报错。(the requested operation has failed!)
请问我改怎么做?才能达到每个虚拟主机下的PHP文件只能读取其根文档下(如 d:/www.aaa.com/)的文件,谢谢!
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
klbt 2003-10-25
  • 打赏
  • 举报
回复
友情支持,帮你顶。
shuiaaa 2003-09-11
  • 打赏
  • 举报
回复
找到 #NameVirtualHost *

修改为 NameVirtualHost 192.168.0.16 #注意这个IP为你自己主机设的IP

找到 ServerName root.dev

修改为 #ServerName root.dev

添加

<VirtualHost 192.168.0.16>

ServerAdmin root@localhost

ServerName root.dev

DocumentRoot c:/apache/htdocs

ErrorLog c:/apache/logs/error_log

TransferLog c:/apache/logs/access_log

ScriptAlias /cgi-bin c:/apache/cgi-bin

</VirtualHost>
myblessu 2003-09-11
  • 打赏
  • 举报
回复
不是啦

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧