我在使用 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
$