如何在 apache2 网络服务器上禁用后测试/验证 OPTIONS 方法

如何在 apache2 网络服务器上禁用后测试/验证 OPTIONS 方法

我在使用 Web 应用程序检查软件时遇到了这个问题。建议OPTION METHODS在 Web 服务器上禁用它。

经过研究,我已将此代码片段包含在我的服务器上,httpd.conf然后重新启动服务器。

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
RewriteRule .* - [F]

我如何验证代码是否已实现并且将阻止所有 OPTIONS 请求?

我已经尝试过了

curl --request OPTIONS http://10.1.1.1/mysite

但我得到的只是 301 Moved Permanently

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://10.1.1.1/mysite">here</a>.</p>
<hr>
<address>Apache/2.2.22 (Ubuntu) Server at 10.1.1.1 Port 80</address>
</body></html>

答案1

除了使用 mod_rewrite 之外,您还可以使用以下方法禁用任意方法:限制或者限制除外指令的设计正是满足您的需要。

您可以使用以下方式进行测试数控或者远程登录直接与 httpd 进程对话

$ nc yourhost.tld 80
OPTIONS / HTTP/1.1
Host: yourhost.tld

 (press enter a couple of times here and the server responds)

HTTP/1.1 200 OK
Date: Mon, 16 Dec 2013 09:16:40 GMT
Server: Apache
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8
$

相关内容