(C#)IIS響應頭敏感信息(Server/X-AspNet-Version等)過濾


如下圖所示,如果不經過處理,相應頭會出現如下敏感信息,影響服務安全。

 

那么如何將這些信息隱藏呢?

第一種方案:

添加以下代碼到文件global.asax.cs

protected void Application_PreSendRequestHeaders()
{
    Response.Headers.Remove("Server");
    Response.Headers.Remove("X-AspNet-Version");
    Response.Headers.Remove("X-AspNetMvc-Version");
}
第二種方案:
可以通過過濾器進行攔截處理。方式與第一種方案基本無一。
第三種方案:
1.借助UrlScan 移除Header中的Server,附帶urlscan文件
  • 安裝工具UrlScan,默認一直點就可以了
  • 修改URLCan.ini(位置:%WINDIR%\System32\Inetsrv\URLscan)中的配置"RemoveServerHeader=1",看字面意思就知道是一出Server頭信息咯。
  • 重啟iis服務

2.移除 X-AspNet-Version

在web.config中的<httpRuntime>中添加enableVersionHeader="false"

3.移除X-AspNetMvc-Version,

global.asax.cs中的方法 Application_Start()添加如下代碼:

protected void Application_Start() 
{ 
    MvcHandler.DisableMvcResponseHeader = true; 
}
4.移除X-Powered-By
這個在IIS服務器上配置即可:
如下圖所示:

 

 

 

 點擊刪除即可,簡單吧。

最后,還是建議使用第一種或第二種方案。畢竟UrlScan除了移除Server以外,還會攔截一些有注入風險的請求,要是你的項目中有些請求不是很安全,有可能會被攔截處理哦。

當然,站點的安全性,還得通過請求加密,加簽以及添加SSL證書等進行保障。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM