使用 .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中国 荣誉推出

相关内容

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
Mistral 发布 De...
5 月 22 日消息,科技媒体 WinBuzzer 昨日(5 月 ...
2025-05-22 13:18:21

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...