首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Elmah报告不需要的404错误

Elmah报告不需要的404错误
EN

Stack Overflow用户
提问于 2010-01-15 20:28:02
回答 2查看 6.9K关注 0票数 19

我正在使用Elmah来登录一个ASP.NET MVC项目,我收到了许多路径/prx2.php的404错误,这反过来又传递了一个哈希值作为查询字符串参数。

我假设这是一个试图发现漏洞的扫描器。因为我没有运行PHP,所以我是安全的!但是,我想停止ELmah报告此错误。

在不实际创建/prx2.php页面的情况下,从报告中排除这些类型的错误的最佳方法是什么?我也想在一个配置文件中做这件事,而不是在程序中做。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-15 21:13:07

Elmah支持错误过滤- Error Filtering link

这应该可以为您解决问题。您可以通过代码定义过滤器-在Global.asx文件中,或者在elmah本身的xml配置中

票数 18
EN

Stack Overflow用户

发布于 2017-01-19 18:41:56

Step1:配置配置部分以包括elmah errorFilter部分:

代码语言:javascript
复制
<configSections>
  <sectionGroup name="elmah">
    <!-- ... -->  
    <!-- this is the important part -->
    <section name="errorFilter" requirePermission="false" 
      type="Elmah.ErrorFilterSectionHandler, Elmah"/>
  </sectionGroup>
</configSections>

Step2:在<elmah>部分配置过滤器本身。

代码语言:javascript
复制
<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>    

Step3:在应用程序模块中包含Elmah.ErrorFilterModule

包含http模块的现代(IIS7+)版本:

代码语言:javascript
复制
<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
    <!-- ... -->
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" 
      preCondition="managedHandler" />
  </modules>
</system.webServer>

包含http模块的旧(旧IIS)版本:

代码语言:javascript
复制
<system.web>
  <httpModules>
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
  </httpModules>
</system.web>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2071389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档