2017-08-30 54 views
1

我有一個mvc/forms混合web應用程序託管在Azure上的Windows 2008 R2實例上。網絡服務器是IIS 7.5。在過去的4-5個月中,我的服務器正在受到漏洞掃描程序檢查與php相關的漏洞的嚴重影響。例如:拒絕/查殺特定URL請求的最佳實踐ASP.Net IIS 7.5

The controller for path '/wp-login.php' was not found or does not implement IController. 

從ELMAH

所以我已經在和專門過濾IIS 7.5中.php然後cgi的文件擴展名的請求這是偉大的工作。但是我仍然得到敲定像請求:

The controller for path '/admin/Cms_Wysiwyg/directive/' was not found or does not implement IController. 

The controller for path '/phpmyadmin2018/' was not found or does not implement IController. 

等等等,這是更大的煩惱因爲一切都被記錄,404返回,這一切都無用的資源暴殄天物。

通過Elmah我查詢了與所有這些請求相關的URL的不同列表。什麼是短路這些請求的最佳方式?如果我可以選擇禁止知識產權,這將是一件好事,但現在有700個獨特的知識產權在過去3個月內提出這些請求。主要優先事項是短路來自我知道是虛假URL的字典的請求,並避免來自我的網絡服務器的日誌記錄和響應。謝謝!

回答

1

半僞代碼,但我認爲它會有所幫助;

在Global.asax.cs中:

public class MvcApplication : HttpApplication 
{ 
    protected void Application_BeginRequest(Object sender, EventArgs e) 
    { 
     var url = HttpContext.Current.Request.Url.AbsoluteUri; 
     if(checkUrl(url)){ 
      // your code here 
     } 

     if (UserIsBanned(GetUserIp())) 
     { 
      Response.Write("ban"); 
      Response.End(); 
     } 
    } 

    private string GetUserIp() 
    { 
     return HttpContext.Current.Request.UserHostAddress; 
    } 
+0

是的,這是非常有用的。謝謝。如果我有一個字典/數組/收集的說〜400「壞」的網址是如何資源密集的這將是對常規「好」請求的響應時間? –

+0

可能沒關係,你可以隨時測量它,你也可以單獨詢問在字典中查找的性能以及這會減慢請求的速度 – Omu