引自:https://www.cnblogs.com/felixnet/p/6344613.html測試能夠用,但僅僅是修改的應用程序,http://localhost不起做用html
https://www.cnblogs.com/kowloon/p/9071872.htmlweb
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]spa
漏洞描述 本插件檢測遠端HTTP Server信息。這可能使得攻擊者瞭解遠程系統類型以便進行下一步的攻擊。
解決方案 NSFOCUS建議您採起如下措施以下降威脅.net
打開網頁,審查代碼,咱們發現這幾個標頭明顯標明咱們的服務器和平臺信息,存在安全風險,必需要隱藏插件
解決方法:code
新建一個類庫項目 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(好比虛擬主機),也不須要修改和編譯網站代碼。