2009-11-18 32 views
8

我收到以下错误,但似乎无法在上下文中理解它:路径'PROPFIND'被禁止?

消息 Path'PROPFIND'被禁止。 栈跟踪 在System.Web.HttpMethodNotAllowedHandler.ProcessRequest(HttpContext的上下文)在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔& completedSynchronously )

谷歌已经发现似乎与我的应用程序没有任何关系的结果(这是IIS6上的asp.net MVC)。该网站运行良好,但我想尝试捕捉并处理这个错误。谢谢。

回答

5

OK了[AllowVerbs][DenyVerbs]部分我想我们找到了答案,显然这有点明显,但我不是一个系统的家伙,所以这是我的借口。 ;)在IIS 6中使用MVC时,我们实现了Wildcard Mapping以获取该网站的漂亮的无扩展网址。但是我了解它的方式,使用wilcard映射,它只处理所有请求,就像它们用于ASP.net一样,包括由人们发布的WebDAV动词,它们一味地探查48klocs提到的漏洞。

3

它是一个公共Web服务器吗?一个快速的谷歌搜索似乎表明,有a DOS attack involving PROPFIND and WebDAV。如果它是公开的,你就可以从攻击者的喷雾和祈祷驱动器中获取日志。如果它是内在的,你就会有一个更大的头脑。

+0

它是一个外部网络服务器。我看到了这些,但没有人提供任何真正的解决方案,这可能是系统/网络人员面临的问题? – 2009-11-18 16:16:48

1

这可能是两个问题之一:

  1. PROPFIND没有被定义为网站的ASP.NET脚本映射在permissable动词。
  2. 服务器运行UrlScan并且不允许PROPFIND。检查的c:\Windows\System32\InetSrv\urlscan\UrlScan.ini
1

我们已经看到了很多,并且已经确定其中很多来自Microsoft Office产品。特别是Microsoft Office。

有关解释请参阅“How documents are opened from a Web site in 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”请求成功,并引起了“ 501未实施“状态,以返回”PROPFIND“。

19次失败后,MS Word 2007最终决定可以使用“GET”请求来检索文件,并且该文件可以正常工作(文件被合法地使用)。


一个小小的研究表明StaticFileHandler对此更好。只要请求的目标是实际资源,它就会为OPTIONS和PROPFIND动词返回200 OK,并显示有效数据。当Word探测文件夹本身时,将返回404 Not Found。