Apache 除了 .htaccess 和 .htpasswd 之外还使用任何其他点 ht 文件吗?

Apache 除了 .htaccess 和 .htpasswd 之外还使用任何其他点 ht 文件吗?

我正在强化我的 Apache 服务器配置,想知道它是否除了 .htaccess 和 .htpasswd 之外还使用任何其他"^.ht.+"文件?

答案1

Apache 有吗?没有。

它通常使用的唯一一个是.htaccess,但这实际上只是由于默认的AccessFileName存在AccessFileName .htaccess- 更改该配置,Apache 将对以 开头的文件不再有任何特殊兴趣.ht

.htpasswd不是一个正常的标准,甚至不是一个好主意;一般的建议是将身份验证文件放在您的 Web 根目录之外,因为还有其他方法(远程文件包含漏洞)可以潜在地获取文件的内容,从而绕过 Apache 的访问限制。

其他人会吗?也许吧。

.ht*“这是某种受限/无法访问的文件”这种常见用法被某些人/内容/网络应用程序所期望/滥用,出于许多相同的原因.htaccess,许多人误解这是放置访问控制和重写规则的“正确”位置,尽管它并不是为此而设计的。因此,如果您禁用默认行为<Files ~ "^\.ht">(为什么需要这样做来强化?),请确保您的内容不会滥用文件名约定来隐藏内容。

答案2

.htaccess是 apache 使用的默认文件AccessFileName。`.htpasswd' 并没有什么特别之处,只是大多数人使用它,因此它使 ACL 更容易阻止对它们的访问。没有任何规定说您需要使用这些文件名,如果您有权访问 httpd.conf 文件,您真的不应该使用它们,因为它们会减慢对目录的访问速度。它们适合允许无权访问服务器配置的人覆盖访问权限。

话虽如此,如果您没有通过AccessFileName在配置中使用指令来更改默认值,并且已将所有密码文件命名为 .htpasswd,那么您应该可以很好地使用点文件。

答案3

您可以按照以下方法检查是否正在使用任何其他 .htaccess:核心 - Apache HTTP 服务器,这也是任何 Apache 应该使用的,因为它会阻止人们访问它:

#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

相关内容