zoukankan      html  css  js  c++  java
  • ASP.NET MVC中移除冗余Response Header

    转自:https://www.cnblogs.com/buyixiaohan/p/5923226.html

    默认的,创建一个ASP.NET MVC项目,会在Response Header中包含一些敏感的信息,这些信息是没有什么用处的但是会暴露出IIS的配置信息等。

    下面是默认的Response Header信息:

    Cache-Control:private, s-maxage=0
    Content-Encoding:gzip
    Content-Length:8024
    Content-Type:text/html; charset=utf-8
    Date:Fri, 30 Sep 2016 03:17:10 GMT
    Server:Microsoft-IIS/10.0
    Vary:Accept-Encoding
    X-AspNet-Version:4.0.30319
    X-AspNetMvc-Version:5.2
    X-Frame-Options:SAMEORIGIN
    X-Powered-By:ASP.NET
    X-SourceFiles:=?UTF-8?B?RDpcV29ya1wyMDE2XE56TmQuSWRlbnRpdHlcR0xELldlYlxTdXBlclxVc2Vycw==?=

    以上内容中,红色部分并不是必须输出的信息,相反会暴露服务器的一些配置信息等,以下逐一介绍如何移除不需要的输出信息:

    • X-AspNetMvc-Version

    打开Global.asax.cs ,Application_Start方法中,添加如下代码:

    MvcHandler.DisableMvcResponseHeader = true;
    • Server

    同样在Global.asax.cs 中,添加如下代码

    protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
    {
        HttpApplication app = sender as HttpApplication;
        if (app != null &&
            app.Context != null)
        {
            app.Context.Response.Headers.Remove("Server");
        }
    }
    • X-AspNet-Version

    在Web.config文件中找到system.web节点,添加如下配置:

    <httpRuntime enableVersionHeader="false" />
    • X-Powered-By

    在Web.Config文件中找到system.webservice,添加如下配置:

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

    OK,做完上面的操作,编译后打开,F12中可以看到,Response Header内容如下

    Cache-Control:private, s-maxage=0
    Content-Encoding:gzip
    Content-Length:8018
    Content-Type:text/html; charset=utf-8
    Date:Fri, 30 Sep 2016 02:35:39 GMT
    Vary:Accept-Encoding
    X-Frame-Options:SAMEORIGIN
    X-SourceFiles:=?UTF-8?B?RDpcV29ya1wyMDE2XE56TmQuSWRlbnRpdHlcR0xELldlYlxTdXBlclxVc2Vycw==?=

    不必要的信息已经被去掉了。清爽很多!

  • 相关阅读:
    make ubuntu desktop beautiful
    scratch 编程第二弹
    stratch pragramming
    emacs 安装与基本设置-1
    linux相关命令
    7-12
    python strip()
    python 正则表达式 re.sub & re.subn
    python 正则表达式 re.findall &re.finditer
    python 正则表达式 re.split
  • 原文地址:https://www.cnblogs.com/varorbc/p/7987323.html
Copyright © 2011-2022 走看看