引自:https://www.cnblogs.com/felixnet/p/6344613.html測試可以用,但僅僅是修改的應用程序,http://localhost不起作用
https://www.cnblogs.com/kowloon/p/9071872.html
https://www.cnblogs.com/crazyair/p/4323173.html 測試可以用,但是對應用程序造成了影響,需要修改配置文件
https://blog.csdn.net/qq_25600055/article/details/78188169
(以下方法僅針對 IIS Asp.net)
服務器掃描發現漏洞,其中一個是:
可通過HTTP獲取遠端WWW服務信息 [Microsoft-IIS/8.5]
漏洞描述 本插件檢測遠端HTTP Server信息。這可能使得攻擊者了解遠程系統類型以便進行下一步的攻擊。
解決方案 NSFOCUS建議您采取以下措施以降低威脅
打開網頁,審查代碼,我們發現這幾個標頭明顯標明我們的服務器和平台信息,存在安全風險,必須要隱藏

解決方法:
新建一個類庫項目 CustomHttpModules,添加一個自定義 HttpModule
namespace CustomHttpModules
{
public class HeaderFilterHttpModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += OnPreSendRequestHeaders;
}
public void Dispose()
{ }
void OnPreSendRequestHeaders(object sender, System.EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("Server");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
HttpContext.Current.Response.Headers.Remove("X-Frame-Options");
}
}
}
編譯后,拷貝DLL到網站BIN目錄,修改網站的 Web.config
<system.webServer>
<modules>
<add name="HeaderFilterModule" type="CustomHttpModules.HeaderFilterHttpModule,CustomHttpModules"/>
</modules>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By"/>
</customHeaders>
</httpProtocol>
</system.webServer>
再次運行網站,審查代碼,幾個標頭全沒了,搞定!

這種方法是最安全方便的,只要拷貝一個DLL和修改一處配置,不需要設置IIS(比如虛擬主機),也不需要修改和編譯網站代碼。

