我正在强化我的Apache服务器configuration,并想知道是否使用除.htaccess和.htpasswd之外的任何其他"^.ht.+"文件?
Apache是否? 没有。
它通常使用的唯一一个是.htaccess ,但这实际上只是由于AccessFileName的默认值为AccessFileName .htaccess – 更改该configuration,并且Apache对以.ht开头的文件没有任何特别的兴趣。
.htpasswd不是一个正常的标准,甚至不是一个好主意; 一般的build议是将auth文件保留在你的web根目录之外,因为还有其他方法(远程文件包含漏洞)可能会获得文件内容,绕过Apache的访问限制。
做其他人吗? 也许。
.ht*常见用法是“这是一种受限制的/不可访问的某种文件”,被某些人/内容/networking应用程序预期/滥用,原因很多.htaccess被许多人误解为“正确的“放置访问控制和重写规则的地方, 尽pipe事实并非如此 。 因此,如果您禁用了<Files ~ "^\.ht">的默认行为(为什么您需要这样做以进行强化?),请确保您的内容不会滥用该文件名惯例来隐藏内容。
.htaccess是apache使用的默认AccessFileName 。 “.htpasswd”没有什么特别之处,只是大多数人使用它而使ACL更容易地阻止访问它们。 没有什么说你需要使用这些文件名,如果你有权访问httpd.conf文件,你真的不应该使用它们,因为它们减慢了对目录的访问速度。 他们很好地允许覆盖访问没有访问服务器configuration的人。
也就是说,如果你没有在configuration文件中使用AccessFileName指令来改变默认值,并且已经命名了所有的密码文件.htpasswd,那么你应该使用dotfiles。
这里是如何检查你是否使用任何其他.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>