当前位置: 首页 > 科技观察

使用.htaccess文件禁用Web目录列表

时间:2023-03-13 16:11:52 科技观察

保护您的ApacheWeb服务器是最重要的任务之一,尤其是在您的网站首次设置时。例如,如果你在Apache服务目录(/var/www/tecmint或/var/www/html/tecmint)下创建一个名为tecmint的目录,而忘记将index.html放在该目录下,你会惊讶地发现所有访问者都可以在浏览器中输入http://www.example.com/tecmint以完整列出此目录中的所有重要文件和文件夹。本文将向您展示如何使用.htaccess文件禁用或阻止Apache服务器目录枚举。以下是目录列表前没有index.html且没有采取任何预防措施的情况。[][4]Apache目录列表首先,.htaccess(超文本访问)是一个允许站点管理员控制服务器环境变量和其他重要选项以增强其站点功能的文件。有关此重要文件的更多信息,请阅读以下有关如何使用.htaccess保护ApacheWeb服务器的文章。25保护ApacheWeb服务器密码的.htaccess设置技巧使用.htaccess保护您的ApacheWeb目录使用这个简单的方法在站点目录树的任何/每个目录中为站点根目录、子目录和其中的文件创建.htaccess文件他们提供保护支持。首先在主Apache配置文件中为您的站点启用.htaccess文件支持。$sudovi/etc/apache2/apache2.conf#Debian/Ubuntu$sudovi/etc/httpd/conf/httpd.conf#RHEL/CentOS然后查找以下部分,其中AllowOverride指令必须设置为AllowOverrideAll。OptionsIndexesFollowSymLinksAllowOverrideAll如果.htaccess文件已经存在,首先备份它(如下),假设文件在/var/www/html/tecmint/(并禁用目录列表):$sudocp/var/www/html/tecmint/.htaccess/var/www/html/tecmint/.htaccess.orig然后你可以在特定目录下用你喜欢的编辑器打开(或创建)它来修改.并添加以下内容以关闭目录枚举。Options-Indexes下一步是重启ApacheWeb服务器:--------systemusingSystemD--------$sudosystemctlrestartapache2$sudosystemctlrestarthttpd--------systemusingSysVInit--------$sudo/etc/init.d/apache2restart$sudo/etc/init.d/httpdrestart现在验证效果,在浏览器中输入:http://www.example.com/tecmint,您将收到类似于以下内容的消息:[][5]Apache目录枚举已禁用在本文中,我们描述了如何使用.htaccess文件为ApacheWeb服务器禁用目录枚举。稍后我们将介绍两种同样简单的方法来达到同样的目的。保持联系。一如既往,请在下面的反馈表中向我们发送对本文的任何想法。关于作者:AaronKili是Linux和F.O.S.S的坚定支持者、未来的Linux系统管理员、Web开发人员和当前的TecMint原作者,对计算和知识共享充满热情。译者简介:GHLandy-人生所有的悲欢离合都应该藏在心里,有些事注定不为人知,不能说出口。