PROPFIND путь-это запрещено?
Я получаю следующую ошибку, но, кажется, не могу понять ее в контексте того, что это происходит:
Сообщение PROPFIND путь '' запрещено. Трассировка стека в системе.Сеть.Httpmethod notallowedhandler.ProcessRequest(HttpContext context) в системе.Сеть.HttpApplication.CallHandlerExecutionStep.Система.Сеть.HttpApplication.IExecutionStep.Execute () в системе.Сеть.HttpApplication.ExecuteStep (iexecutionstep step, Boolean& completedSynchronously)
Появился Google результаты, которые, кажется, не имеют ничего общего с моим приложением (это asp.net MVC на IIS6). Сайт функционирует нормально, но я хотел бы попытаться поймать и обработать эту ошибку. Спасибо.
4 ответа:
Хорошо, я думаю, что мы нашли ответ, и, очевидно, это отчасти очевидно, но я не системный парень, так что это мое оправдание. ;) При использовании MVC с IIS 6 мы реализовалиПодстановочное отображение , чтобы получить хорошие URL-адреса без расширения для сайта. Но насколько я понимаю, с включенным отображением wilcard он просто обрабатывает все запросы, как если бы они были для ASP.net в том числе эти глаголы WebDAV, выпущенные людьми, которые вслепую прощупывают уязвимости, упомянутые 48klocs.
Это общедоступный веб-сервер? Быстрый поиск в Google, кажется, указывает на то, что была DOS-атака с участием PROPFIND и WebDAV. Если он публичный,то вы собираете журналы от нападающих, которые разбрызгивают и молятся. Если он внутренний, то у вас есть более мощный скребок для головы.
Это может быть один из двух вопросов:
PROPFIND
не определяется как разрешаемый глагол на веб-сайте для ASP.NET сценарная карта.- сервер запускает UrlScan и не разрешает
PROPFIND
. Проверьте секции[AllowVerbs]
и[DenyVerbs]
c:\Windows\System32\InetSrv\urlscan\UrlScan.ini
Мы видели их много, и определили, что многие из них происходят из продуктов Microsoft Office. В частности, Microsoft Office.
Смотрите "Как документы открываются с веб-сайта в Office 2003 " для некоторого объяснения.
Я смог получить некоторое краткое облегчение, добавив отображение для DefaultHttpHandler в web.config для этих двух глаголов:
<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" для извлечения файла, и это работает (файл был acutally обслуживается законно).
Небольшое исследование показывает, что StaticFileHandler работает еще лучше для этого. Он возвращает 200 OK для обоих вариантов и propfind глаголов, а также то, что кажется допустимыми данными, если запрос нацелен на фактический ресурс. Когда Word исследует саму папку, это возвращает 404 не найдено.