使用 .htaccess 文件禁用 Web 目录列举
创始人
2024-03-01 18:47:27
0

确保 Apache web 服务器安全 是最重要的任务之一,特别是在你的网站刚刚搭建好的时侯。

比方说,如果你 Apache 服务目录 (/var/www/tecmint/var/www/html/tecmint) 下创建一个名为 tecmint 的目录,并且忘记在该目录放置 index.html,你会惊奇的发现所有访问者都可以在浏览器输入 http://www.example.com/tecmint 来完整列举所有在该目录中的重要文件和文件夹。

本文将为你展示如何使用 .htaccess 文件禁用或阻止 Apache 服务器目录列举。

以下便是不存在 index.html ,且未采取防范措施前,目录的列举的情况。

[Apache 目录列举][4]

Apache 目录列举

首先,.htaccess (hypertext access) 是一个文件,它可以让站点管理员控制服务器的环境变量以及其他的重要选项,用以增强他/她的站点功能。

欲知更多关于该重要文件的信息,请阅读以下文章,以便通过 .htaccess 的方法来确保 Apache Web 服务器的安全。

  1. 确保 Apache Web 服务器安全的 25 条 .htaccess 设置技巧
  2. 使用 .htaccess 为 Apache Web 目录进行密码保护

使用这一简单方法,在站点目录树中的任意/每个目录创建 .htaccess 文件,以便为站点根目录、子目录和其中的文件提供保护支持。

首先要 Apache 主配置文件中为你的站点启用 .htaccess 文件支持。

$ sudo vi /etc/apache2/apache2.conf    #Debian/Ubuntu 系统
$ sudo vi /etc/httpd/conf/httpd.conf   #RHEL/CentOS 系统

然后寻找以下部分,其中 AllowOverride 指令必须设置为 AllowOverride All


Options Indexes FollowSymLinks
AllowOverride All

如果已存在 .htaccess 文件,先备份(如下),假设文件在 /var/www/html/tecmint/ (并要禁用该目录列举):

$ sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig  

然后你就可以在某个特定的目录使用你喜欢的编辑器打开 (或创建) 它,以便修改。并添加以下内容来关闭目录列举。

Options -Indexes 

下一步就是重启 Apache Web 服务器:

-------- 使用 SystemD 的系统 -------- 
$ sudo systemctl restart apache2
$ sudo systemctl restart httpd
-------- 使用 SysVInit 的系统 -------- 
$ sudo /etc/init.d/apache2 restart 
$ sudo /etc/init.d/httpd restart

现在来验证效果,在浏览器中输入:http://www.example.com/tecmint,你会得到类似如下的信息:

[Apache 目录列举已禁用][5]

Apache 目录列举已禁用

在本文中,我们描述了如何使用 .htaccess 文件来禁用 Apache Web 服务器的目录列举。之后我们会介绍两种同样简单的我方法来实现这一相同目的。随时保持联系。

像往常一样,在下方反馈表单中给我们发送关于本文的任何想法。


作者简介:

Aaron Kili 是一名 Linux 和 F.O.S.S 忠实拥护者、未来的 Linux 系统管理员、Web 开发者,目前是 TecMint 的原创作者,热衷于计算机并乐于知识分享。


译者简介:

GHLandy - 生活中所有欢乐与苦闷都应藏在心中,有些事儿注定无人知晓,自己也无从说起。


via: http://www.tecmint.com/disable-apache-directory-listing-htaccess/

作者:[Aaron Kili][a] 译者:GHLandy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

“韭菜免收通行费韭菜薹要收...
近日,在四川乐雅高速符溪收费站外,一名司机与收费站员工因运输的韭菜...
2025-07-12 11:41:09
VS2022配置工程的编译...
VS2022配置工程的编译路径(输出目录和中间目录&...
2025-06-01 19:24:39
【CMake入门教程】CM...
CMake教程专栏文章列表 【实例篇】01.第一个程序【实例篇】0...
2025-06-01 10:01:50
教你如何快速在Linux中...
工作中经常会有查看某个目录下最大的文件的需求,比如在...
2025-06-01 03:02:47
最新CCF目录推荐, 不容...
【本周推荐】我处近期新增多本计算机领域高质量SCI,...
2025-05-28 22:45:10
【Linux】目录结构、路...
目录 1. Linux目录结构 2. Linux路径 2.1 绝对...
2025-05-28 20:19:14

热门资讯

2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...