asp.net mvc隐藏IIS和mvc版本信息

2025-11-26 16:27:56

1、创建空的asp.net mvc项目MVCRemoveHeader,并添加HomeController、Index页面

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

2、在VS中使用Chrome浏览器debug调试页面,在浏览器窗口按F12,进入开发者模式,依次点击【Netwrok】->【localhost】->【Headers】就可以看到如图所示的各种服务器信息

     注意:如果打开F12模式后,network下面看不到localhost,则刷新页面即可看到了

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

3、隐藏MVC版本信息(节点:X-AspNetMvc-Version)

     在Global.asax的Application_Start方法中添加如下代码,再次运行就没有 X-AspNetMvc-Version:

     MvcHandler.DisableMvcResponseHeader = true;

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

4、隐藏asp.net 版本信息(节点:X-AspNet-Version)

     在web.config文件的system.web节点下添加如下配置,再次运行就没有 X-AspNet-Version:

     <httpRuntime enableVersionHeader="false" />

     注意:默认是有httpRuntime节点的,因此只需要增加 enableVersionHeader="false"

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

5、隐藏X-Powered-By节点

    在web.config文件中添加如下节点,如果已经存在,则修改对应节点,再次运行就没有 X-Powered-By:

   <system.webServer>

    <httpProtocol>

      <customHeaders>

        <remove name="X-Powered-By" />

      </customHeaders>

    </httpProtocol>

  </system.webServer>

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

6、隐藏IIS版本信息(节点:Server)

    在Global.asax中添加如下代码,指定移除Server节点,再次运行就没有 Server:

    /// <summary>

        /// 隐藏 Response Header 中的Server节点(IIS版本信息)

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        protected void Application_PreSendRequestHeaders(object sender, EventArgs e)

        {

            HttpApplication application = sender as HttpApplication;

            if (application != null && application.Context != null)

            {

                application.Context.Response.Headers.Remove("Server");

            }

        }

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

7、做完上述几个节点隐藏前后的Response Header比对如下:

asp.net mvc隐藏IIS和mvc版本信息

asp.net mvc隐藏IIS和mvc版本信息

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢