zoukankan      html  css  js  c++  java
  • ASP.NET中指定自定义HTTP响应标头

    新建一个类HideServerHeaderHelper,继承 IHttpModule,然后重写 OnPreSendRequestHeaders,Dispose,Init方法,如下代码所示

    using System;
    using System.Collections.Generic;
    using System.Web;
    
    namespace MvcApp.Filters
    {
        public class HideServerHeaderHelper : IHttpModule
        {
            /// <summary>
            /// List of Headers to remove
            /// </summary>
            private readonly List<string> _headersToCloak;
    
            /// <summary>
            /// Initializes a new instance of the <see cref="HideServerHeaderModule"/> class.
            /// </summary>
            public HideServerHeaderHelper()
            {
                _headersToCloak = new List<string>
                                          {
                                                  "Server",
                                                  "X-AspNet-Version",
                                                  "X-AspNetMvc-Version",
                                                  "X-Powered-By"
                                          };
            }
    
            private void OnPreSendRequestHeaders(object sender, EventArgs e)
            {
                //设置Server的值
    
                _headersToCloak.ForEach(h => HttpContext.Current.Response.Headers.Remove(h));
                HttpContext.Current.Response.Headers.Set("Server", "nginx");
                HttpContext.Current.Response.Headers.Set("Powered-By", "东讯科技有限公司");
            }
    
            public void Dispose()
            {
                _headersToCloak.Clear();
            }
    
            public void Init(HttpApplication context)
            {
                context.PreSendRequestHeaders += OnPreSendRequestHeaders;
            }
        }
    }

    在web.config添加以下模块

    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
          <add name="HideServerHeaderModule" type="MvcApp.Filters.HideServerHeaderModule"/>
        </modules>
    
     <httpProtocol>
          <customHeaders>
            <remove name="Server"/>
            <remove name="X-AspNet-Version"/>
            <remove name="X-AspNetMvc-Version"/>
            <remove name="X-Powered-By"/>
          </customHeaders>
        </httpProtocol>
      </system.webServer>
  • 相关阅读:
    hdu 4308 Saving Princess claire_ BFS
    进程调度
    LinearLayout具体解释一:LinearLayout的简单介绍
    CSS: 解决Div float后,父Div无法高度自适应的问题
    框架布局FrameLayout
    Coundn't load memtrack module (No such file or directory)
    线性布局LinearLayout
    android视图概述
    activity状态的保存和恢复
    回溯和DFS效率分析
  • 原文地址:https://www.cnblogs.com/david1989/p/3674423.html
Copyright © 2011-2022 走看看