首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MAMP .htaccess LimitExcept不阻止GET请求

MAMP .htaccess LimitExcept不阻止GET请求
EN

Stack Overflow用户
提问于 2020-08-05 09:57:34
回答 1查看 313关注 0票数 1

我正在学习.htaccess中的Apache指令,并测试安全设置。我发现了LimitExcept指令。

我在localhost中有一个wordpress目录,在里面有一个.htaccess,所以指令会影响像我的项目文件这样的所有子目录。

下面是我在.htaccess中的代码:

代码语言:javascript
复制
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指令中删除,那么请求我的主页将正确地返回一个禁止的请求响应。

我知道可以在服务器配置中应用其他设置,但我不希望在该级别上进行更改,因为我可能无法从共享宿主服务服务器访问此配置。

那么,我是遗漏了什么,还是LimitExcept指令有问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-05 13:01:47

命令拒绝,允许从所有

头和头似乎有着内在的联系。封锁其中一个而你阻止另一个。来自the docs for (也包括<LimitExcept>):

如果使用GET,它还将限制HEAD请求。

在我的测试中,情况正好相反.如果你限制头部,那么得到也是限制的。

回到你的<LimitExcept POST HEAD>指令..。通过为HEAD创建一个异常,您似乎也在为GET创建一个异常。你需要从指令中移除头部。(假设您在Apache2.4上,您还应该使用Require指令,而不是旧的Order / Deny指令。)例如:

代码语言:javascript
复制
<LimitExcept POST>
Require all denied
</LimitExcept>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63262719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档