• 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==?=

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

  • 相关阅读:
    Linux实用命令之git-svn
    Linux实用命令之xdg-open
    记一个logrotate的配置文件权限问题
    日常开发技巧:x11-forward,使用远程机器的gui程序
    【机器学习】PCA
    【PyTorch】Tricks 集锦
    【Python】itertools之product函数
    强化学习——值迭代和策略迭代
    PyTorch中MaxPool的ceil_mode属性
    猫狗识别——PyTorch
  • 原文地址:https://www.cnblogs.com/varorbc/p/7987323.html
Copyright © 2020-2023  润新知