路径“PROPFIND”被禁止访问?

8
我收到以下错误信息,但似乎无法在发生的情况下理解它的上下文:
消息 路径“PROPFIND”被禁止。 堆栈跟踪 在System.Web.HttpMethodNotAllowedHandler.ProcessRequest(HttpContext context)处 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()处 在System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)处
谷歌搜索结果与我的应用程序无关(这是在IIS6上的asp.net MVC)。该网站功能正常,但我想尝试捕获和处理此错误。谢谢。
4个回答

6

好的,我认为我们找到了答案,显然它很明显,但我不是系统专家,所以这就是我的借口。;) 在使用MVC和IIS 6时,我们已经实现了通配符映射来获得网站的漂亮无扩展名URL。但是据我理解,启用通配符映射后,它仅将所有请求处理为ASP.net,包括48klocs提到的发出WebDAV动词的人们盲目探测漏洞。


3

这是一个公共网络服务器吗?快速搜索似乎表明曾经发生过 涉及PROPFIND和WebDAV的DOS攻击。如果是公共的,你会收到来自随机攻击者的日志。如果是内部的,那么问题就更大了。


这是一个外部网络服务器。我看到了那些问题,但没有人提供任何真正的解决方案,也许这是系统/网络专业人员需要处理的问题? - Graham Conzett

1
我们经常看到这些问题,发现其中许多来自Microsoft Office产品,尤其是Microsoft Office。
请参阅“如何在Office 2003中从网站打开文档”以获得某种解释。
我已经能够通过为web.config中的DefaultHttpHandler添加映射来获得一些简短的缓解。
<configuration>
  <system.web>
    <httpHandlers>
      <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
      <add path="*" verb="OPTIONS, PROPFIND" type="System.Web.DefaultHttpHandler" />
    </httpHandlers>
  </system.web>
</configuration>

这会导致“OPTIONS”请求成功,并导致“PROPFIND”返回“501未实现”的状态。

在19次失败后,MS Word 2007最终决定使用“GET”请求来检索文件,这样就可以了(该文件实际上是合法提供的)。


一些研究表明,StaticFileHandler 在这方面的效果更好。只要请求针对实际资源,它就会返回 OPTIONS 和 PROPFIND 动词的 200 OK,以及似乎是有效数据。当 Word 探测文件夹本身时,它会返回 404 Not Found。

1

可能是以下两个问题之一:

  1. 在ASP.NET scriptmap的网站上没有将PROPFIND定义为可以使用的动词。
  2. 服务器正在运行UrlScan并且不允许PROPFIND。检查c:\Windows\System32\InetSrv\urlscan\UrlScan.ini中的[AllowVerbs][DenyVerbs]部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接