如下圖所示,如果不經過處理,相應頭會出現如下敏感信息,影響服務安全。
那么如何將這些信息隱藏呢?
第一種方案:
添加以下代碼到文件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證書等進行保障。