Ответ 1
Elmah поддерживает фильтрацию ошибок - Ссылка на фильтрацию ошибок
Это должно решить проблему для вас. Вы можете определить свой фильтр через код - в файле Global.asx или в конфигурации xml для самого elmah
Я использую Elmah для входа в проект ASP.NET MVC, и я получаю много 404 ошибок для пути /prx 2.php, который, в свою очередь, передает хеш в качестве параметра querystring.
Я предполагаю, что это сканер, который пытается найти уязвимости. Поскольку я не запускаю PHP, я в безопасности! Однако я хотел бы остановить ELmah, сообщив об этой ошибке.
Каков наилучший способ исключить эти типы ошибок из отчетов без фактического создания страницы /prx 2.php. Я также хотел бы сделать это в файле конфигурации, а не делать это прогматически.
Любые идеи?
Elmah поддерживает фильтрацию ошибок - Ссылка на фильтрацию ошибок
Это должно решить проблему для вас. Вы можете определить свой фильтр через код - в файле Global.asx или в конфигурации xml для самого elmah
Шаг1: Настройте разделы конфигурации, чтобы включить раздел elmah errorFilter
:
<configSections>
<sectionGroup name="elmah">
<!-- ... -->
<!-- this is the important part -->
<section name="errorFilter" requirePermission="false"
type="Elmah.ErrorFilterSectionHandler, Elmah"/>
</sectionGroup>
</configSections>
Шаг 2. Настройте фильтр в разделе <elmah>
.
<elmah>
<!-- ... -->
<errorFilter>
<test>
<and>
<equal binding="HttpStatusCode" value="404" type="Int32" />
<!-- you may want to consider something more generic like pattern="/.+[.]php" -->
<regex binding="Context.Request.Url" pattern="/prx2.php" />
</and>
</test>
</errorFilter>
</elmah>
Шаг 3: Включите Elmah.ErrorFilterModule
внутри ваших модулей приложений
Современная версия (IIS7 +), включающая http-модуль:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<!-- ... -->
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"
preCondition="managedHandler" />
</modules>
</system.webServer>
Устаревшая (более ранняя версия IIS), включающая http-модуль:
<system.web>
<httpModules>
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
</system.web>