Apache禁止访问目录浏览的功能

页面导航:首页 > 操作系统 > LINUX > Apache禁止访问目录浏览的功能

Apache禁止访问目录浏览的功能

来源: 作者: 时间:2016-01-14 17:21 【

一、默认情况默认情况下,Apache的配置文件/etc/httpd/conf/httpd.conf中有如下参数:引用Directory /var/www/htmlOptions Indexes FollowSymLinks....../Directory也就是说,在目录下没有默认首页面(...
一、默认情况
 
默认情况下,Apache的配置文件
 
/etc/httpd/conf/httpd.conf
 
中有如下参数:
 
引用
 
<Directory "/var/www/">
Options Indexes FollowSymLinks
......
</Directory>
 
也就是说,在目录下没有默认首页面(如:index.html index.php等)时,可以让用户直接浏览web目录架构,这可能会导致一些重要的目录或配置文件被公开。
 
通常在Web应用上也会做一些安全考虑,以Bo-Blog为例,一些目录下会有类似的文件:
 
引用
 
# cat inc/index.php
<?php
die ('Access Denied');
 
这样,可以避免用户直接浏览该目录时,看到整个目录结构。但如果访问它下面的子目录就没什么作用了:
所以,这还是不太安全。
 
二、修改配置文件
 
安全起见,我建议还是把Indexes选项关闭比较好,方法有两种:
 
1、全局关闭
 
修改上面提到的配置文件/etc/httpd/conf/httpd.conf,把:
 
引用
 
Options Indexes FollowSymLinks
 
改为:
 
引用
 
Options -Indexes FollowSymLinks
 
重启httpd服务即可,这样可以把所有网站的Indexes选项都取消。
 
2、修改.htaccess文件
 
如需要针对特定的网站取消该功能,可以先打开.htaccess支持,修改/etc/httpd/conf/httpd.conf:
 
引用
 
<Directory "/var/www/html">
......
    AllowOverride None
......
</Directory>
 
修改为:
 
引用
 
<Directory "/var/www/html">
......
    AllowOverride All
......
</Directory>
 
然后,在各网站的主目录下写入一个.htaccess文件,内容有:
 
引用
 
# head .htaccess
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
......
 
Options -Indexes   就这句话 保存后马上生效。
 
这时,访问同样的路径,就会报下面的错误提示:

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<