【问题标题】:How to disable HEAD Method in .htaccess如何在 .htaccess 中禁用 HEAD 方法
【发布时间】:2018-02-09 10:53:41
【问题描述】:

如何使用 .htaccess 禁用 HEAD 方法?

我正在寻找一种解决方案,以使 GET/POST 和其他此类操作不会受到此 .htaccess 命令的影响。

我已经使用 httpd 配置禁用了 Trace,并在 stackoverflow 上查看了各种答案,但没有一个符合我的要求。

【问题讨论】:

  • @Phiter:谢谢,但我特别希望禁止 Head 方法。

标签: php .htaccess http-method


【解决方案1】:

这允许 GET 和 POST 并禁用 HTTP/1.0。它还禁用代理请求:

    RewriteEngine on
    RewriteCond %{THE_REQUEST} !^(POST|GET)\ /.*\ HTTP/1\.1$ 
    RewriteRule .* - [F]

【讨论】:

  • 您的解决方案只允许 GET 和 POST,但其他方法如 PUT、DELETE、TRACE、OPTIONS 呢?我的意图是只禁止 HEAD 方法而不影响其他方法。
  • 这会阻止除 POST 和 GET 之外的所有请求……这不是 OP 所要求的。此外,与简单的“限制”规则相比,RewriteCond 给服务器带来了更多的负载。
【解决方案2】:

要通过.htaccess 专门阻止HEAD 请求,您可以像这样简单地“Limit”它们:

    <Limit HEAD>
    Order Deny,Allow
    Deny from All
    </Limit> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    相关资源
    最近更新 更多