[英]Header servers are not removed in asp.net mvc
我在https网址上有一个asp.net mvc项目。
我已经从IIS中删除了X-Power-By标头。
我的web.config中有以下几行:
<customHeaders>
<remove name="X-AspNet-Version" />
<remove name="X-AspNetMvc-Version" />
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
我写了以下课程:
public class RemoveServerHeaderModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += OnPreSendRequestHeaders;
}
public void Dispose() { }
void OnPreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("X-Powered-By");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
HttpContext.Current.Response.Headers.Remove("Server");
}
}
并且我在上述类的web.config中添加了这一行:
<modules>
<add name="RemoveServerHeaderModule" type="IZBSC.UI.Components.RemoveServerHeaderModule" />
</modules>
甚至我已经将以下行添加到我的Global.asax文件中:
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("X-Powered-By");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
HttpContext.Current.Response.Headers.Remove("Server");
}
并且我在Global.asax的Application_Start()方法中添加了以下代码行:
MvcHandler.DisableMvcResponseHeader = true;
现在,服务器标头已从我的页面中删除...
可是
对于某些css,jquery和图片文件,显示了Server标头和X-Power-By标头。
我真的应该怎么做才能从所有请求中删除Server和X-Power-By标头,包括页面,样式,脚本和图像文件?
如果您希望从整个IIS服务器中删除服务器响应标头(从安全性的角度考虑最好),则可以从注册表中配置它:
https://blogs.msdn.microsoft.com/varunm/2013/04/23/remove-unwanted-http-response-headers/
删除以下标题:
来自“ Ori a”的建议答案是我经常使用且仍在使用的答案,它与托管代码很好地结合使用。 但是,JS文件是静态内容,默认情况下直接提供这些内容,而不是通过托管代码提供。 托管代码模块仅适用于通过ASP.NET管道传递的代码。 因此,您应该通过将所有请求添加到system.webServer部分中的webconfig中,强制所有请求通过托管代码:
<modules runAllManagedModulesForAllRequests="true">
像这样:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
使用此语句,您甚至要强制静态内容也遵守标头规则。 希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.