Apache默认在当前目录下没有index.html入口就会显示网站根目录,让网站目录文件都暴露在外面,是一件非常危险的事,例如:数据库密码泄露,隐藏页面暴露等严重安全问题!
apache禁止遍历目录的方法:
修改Apache配置文件[httpd.conf]:
搜索“Options Indexes FollowSymLinks”,修改为“Options -Indexes FollowSymLinks”即可。
就是在Options Indexes FollowSymLinks的Indexes前面加上 – 符号。
备注:
在Indexes前,加 + 代表允许目录浏览;
加 – 代表禁止目录浏览。
这样的话就属于整个Apache禁止目录浏览了。
如果是配置虚拟机,则如下:
<VirtualHost *>
<Directory "../vhosts/www.panpan.org">
Options -Indexes FollowSymLinks # 修改为 -Indexes 即可
</Directory>
ServerAdmin itpanpan@163.com
DocumentRoot "../vhosts/www.panpan.org"
ServerName shopex:80
ServerAlias www.panpan.org
ErrorLog logs/www.panpan.org-error_log
</VirtualHost>
---------------------
其他方法1:
将
Options +Indexes +ExecCGI
改为
Options -Indexes +ExecCGI
其他方法2:
通过修改.htaccess文件来实现
可以在根目录新建或修改 .htaccess 文件
添加代码如下:
<Files *>
Options -Indexes
</Files>
其他方法3:
<Directory "D:/Apache/www.panpan.org">
Options Indexes FollowSymLinks # 修改为: Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
只需要将上面代码中的 Indexes 去掉,就可以禁止 Apache 显示该目录结构。
用户就不会看到该目录下的文件和子目录列表了。
Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes ,Apache 就不会显示该目录的列表了。
---------------------
评论(0)