猿问

如何拒绝对.htaccess中文件的访问

我有以下.htaccess文件:


RewriteEngine On

RewriteBase /


# Protect the htaccess file

<Files .htaccess>

Order Allow,Deny

Deny from all

</Files>


# Protect log.txt

<Files ./inscription/log.txt>

Order Allow,Deny

Deny from all

</Files>


# Disable directory browsing

Options All -Indexes

我试图禁止访问者访问以下文件:


domain.com/inscription/log.txt

但是上面的内容不起作用:我仍然可以从浏览器远程访问文件。


喵喵时光机
浏览 707回答 3
3回答

缥缈止盈

在htaccess文件中,<Files>指令的范围仅适用于该目录(我想避免在子目录htaccess中的规则/指令从父级应用到上级的情况下产生混淆)。因此,您可以:<Files "log.txt">&nbsp;&nbsp;&nbsp; Order Allow,Deny&nbsp; Deny from all</Files>对于Apache 2.4+,您将使用:<Files "log.txt">&nbsp;&nbsp;&nbsp; Require all denied</Files>在您inscription目录中的htaccess文件中。或者,您可以使用mod_rewrite处理两种情况,即拒绝访问htaccess文件和log.txt:RewriteRule /?\.htaccess$ - [F,L]RewriteRule ^/?inscription/log\.txt$ - [F,L]

绝地无双

强大的模式匹配 -这是我在《易腐出版社》中使用的方法。使用强模式匹配,此技术可防止外部访问包含“ .hta ”,“ .HTA ”或其任何不区分大小写的组合的文件。为了说明这一点,此代码将阻止通过以下任何请求进行访问:.htaccess.HTACCESS.hTaCcEsStestFILE.htaccess文件名.HTACCESS文件根目录..etc等。显然,此方法在保护您站点的HTAccess文件方面非常有效。此外,该技术还包括强化的“ 满足所有人 ”指令。请注意,此代码应放置在您域的HTAccess根文件中:# STRONG HTACCESS PROTECTION<Files ~ "^.*\.([Hh][Tt][Aa])">order allow,denydeny from allsatisfy all</Files>
随时随地看视频慕课网APP

相关分类

Java
我要回答