引自: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(比如虛擬主機),也不需要修改和編譯網站代碼。