【发布时间】:2020-08-05 09:57:34
【问题描述】:
我正在学习 .htaccess 中的 Apache 指令并测试安全设置。我发现了 LimitExcept 指令。
我在 localhost 中有一个 wordpress 目录,里面有一个 .htaccess,所以这些指令会影响所有子目录,比如我的项目文件。
这是我在 .htaccess 中的代码:
Options All -Indexes
FileEtag None
<files wp-config.php>
order allow,deny
deny from all
</files>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* - [F]
</IfModule>
<LimitExcept POST HEAD>
Order Deny,Allow
Deny from all
</LimitExcept>
#<IfModule mod_rewrite.c>
#RewriteEngine on
#RewriteCond %{REQUEST_METHOD} ^GET
#RewriteRule .* - [R=400]
#</IfModule>
让我烦恼的是,我使用的 LimitExcept 指令并没有阻止我访问我的主页。就像允许 GET 请求一样。
我必须添加或使用重写指令来阻止我的 GET 请求。
我还发现,如果我将 HEAD 方法从当前的 LimitExcept 指令中排除,那么请求我的主页将正确返回一个 Forbidden 请求响应。
我了解可以在服务器配置中应用其他设置,但我不想在该级别进行更改,因为我可能无法从我的共享托管服务服务器访问此配置。
那么我是否遗漏了什么或者 LimitExcept 指令有问题?
【问题讨论】:
标签: php wordpress apache .htaccess mamp