2011-07-19 13 views
1

これをglobal.asaxページに追加して、エラーがelmahに記録されるのをフィルタリングするのに役立ちましたが、HttpRequestValidationExceptionを含む例外エラーのみをフィルタリングします。私はMcAfeeスキャンからこれらのエラーを受け取ります。 IPアドレスがMcAfeeのものと一致する場合、IPアドレスを確認する方法があるかどうか疑問に思っていましたが、エラーをログに記録しないでください。私はしようとしました:フィルタHttpRequestValidationException IPアドレスによるElmahログ

void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e) 
{ 
    if (Server.HtmlEncode(Request.UserHostAddress) == "173.15.183.122" 
     && e.Exception.GetBaseException() is HttpRequestValidationException) { 
     e.Dismiss(); 
    } 
} 

私のために働いていません。 IPアドレスを取得する方法があれば、それを動作させるために追加する必要があるネームスペースと私に知らせてください。

答えて

2

これをweb.configファイルに追加して、特定のIPアドレスを確認しました。これは、データベースにログインしたくないエラーをフィルタリングするのに役立ちます。

<elmah> 
    <errorLog type="Elmah.SQLiteErrorLog, Elmah" connectionStringName="ELMAH.SQLite" /> 
    <security allowRemoteAccess="yes" /> 
    <errorFilter> 
     <test> 
     <and> 
      <equal binding="HttpStatusCode" value="500" type="Int32" /> 
      <regex binding="Context.Request.ServerVariables['REMOTE_ADDR']" pattern="((165.193.42.(6[7-9]|7[0-9]|8[0-6]|13[1-9]|14[0-9]|150))|(161.69.30.(13[6-9]|1[4-5][0-9]|16[0-7]))|(64.14.3.(196|21[4-9]|22[0-9]))|(64.41.168.(24[2-9]|25[0-4]))|(216.35.7.(9[8-9]|1[0-1][0-9]|12[0-6]))|(64.41.140.(9[8-9]|10[0-7]))|(161.69.14.(13[6-9]|1[4-5][0-9]|16[0-7])))$" type="String" /> 
     </and> 
     </test> 
    </errorFilter> 
</elmah> 
関連する問題