对于那些认为“什么是ZmEu?”,这里是一个解释…
“ZmEu似乎是一个安全工具,用于发现PHPMyAdmin(一个基于Web的MySQL数据库管理器)的2.x.x版中的安全漏洞.该工具似乎源于东欧的某个地方.就像所有黑帽子安全工具似乎都发生的一样,它进入了中国,在中国一直被用来对世界各地的网络服务器进行不间断的暴力攻击.“
这是一个关于这个令人讨厌的攻击的伟大的链接 – > http://www.philriesch.com/articles/2010/07/getting-a-little-sick-of-zmeu/
我使用.net,所以他们将在我的服务器上找到PHPMyAdmin,但事实上,我的日志充满了ZmEu攻击它变得令人厌烦.
上面的链接提供了一个很好的修复使用HTAccess,但im使用IIS7.5,而不是apache.
我有一个asp.net MVC 2网站,所以我使用global.asax文件来创建我的路由
这是HTAccess seugestion
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} !^/path/to/your/abusefile.php RewriteCond %{HTTP_USER_AGENT} (.*)ZmEu(.*) RewriteRule .* http://www.yourdomain.com/path/to/your/abusefile.php [R=301,L] </IfModule>
我的问题是,我可以在Global.ascx文件中添加像这样的东西吗?
解决方法
您可以控制Elmah在various ways中登录的内容,其一种方法是将其添加到Global.asax中
void ErrorLog_Filtering(object sender,ExceptionFilterEventArgs e) { if (e.Exception.GetBaseException() is HttpException) { HttpException httpEx = (HttpException)e.Exception.GetBaseException(); if (httpEx.GetHttpCode() == 404) { if (Request.UserAgent.Contains("ZmEu")) { // stop Elmah from logging it e.Dismiss(); // log it somewhere else logger.InfoFormat("ZmEu request detected from IP {0} at address {1}",Request.UserHostAddress,Request.Url); } } } }
要触发此事件,您需要从项目中引用Elmah DLL,并使用Elmah添加;到您的Global.asax.cs的顶部.
行logger.InfoFormat的行假定您正在使用log4net.如果没有,请将其更改为其他内容.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。