Apache配置。如何禁止查看根文件夹

时间:2009-11-08 12:00:18

标签: apache

我添加了VirtualHost     ServerAdmin root @ localhost     DocumentRoot /var/www/html/blogovet.ru     ServerName www.blogovet.ru     ServerAlias blogovet.ru

但我在这个域中的脚本可以看到所有服务器文件/ *不仅在他的目录/var/www/html/blogovet.ru

如何禁止查看除DocumentRoot以外的文件?

2 个答案:

答案 0 :(得分:0)

脚本将能够读取运行脚本的用户可以读取的所有文件。因此,您应该确保您的Web服务器不以root身份运行(需要以root用户身份启动才能侦听端口80,但是应该将用户转换为例如“www”本身),然后确保该用户无法读取任何明智的文件。

您还可以使用SElinux获得额外的安全保障。

答案 1 :(得分:0)

我找到了PHP的这个解决方案(如果禁用cgi和ssi,看起来不错)

<VirtualHost *:80>
    ServerAdmin root@localhost
    DocumentRoot /var/www/html/site.com
    ServerName www.site.com
    ServerAlias site.com
    ErrorLog /var/www/html/site.com/error-log
#    TransferLog /var/www/html/site.com/transfer-log
#    CustomLog /var/www/html/site.com/access-log common
    <IfModule mod_php5.c>
        php_admin_value upload_tmp_dir "/tmp"
        php_admin_value include_path ".:/usr/share/pear:/usr/share/php:/var/www/html/site.com"
        php_admin_value open_basedir "/var/www/html/site.com"
        php_admin_value doc_root "/var/www/html/site.com"
    </IfModule>
    <Directory "/var/www/html/site.com">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>