zoukankan      html  css  js  c++  java
  • 去除服务器的heder信息

    https://www.cnblogs.com/felixnet/p/6344613.html

    https://www.cnblogs.com/wintersun/archive/2011/08/07/2129942.html

    直接在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");
                //    app.Context.Response.Headers.Remove("X-Powered-By");
                //    // Response.Headers.Set("Server", "ooosss");
                //    // Response.AddHeader("Sample1", "Value1");
                //}
            }

    经测试,按上面的链接,再写一个modle可以:

     public class mysvr : IHttpModule
        {
            public void Dispose()
            {
                //no code nescessary
            }

            public void Init(HttpApplication context)
            {
                context.PreSendRequestHeaders += new EventHandler(context_PreSendRequestHeaders);
            }

            void context_PreSendRequestHeaders(object sender, EventArgs e)
            {
                try
                {
                    HttpApplication app = sender as HttpApplication;
                    if (null != app && null != app.Request && !app.Request.IsLocal && null != app.Context && null != app.Context.Response)
                    {
                        var headers = app.Context.Response.Headers;
                        if (null != headers)
                        {
                            headers.Remove("Server");
                            headers.Remove("X-Powered-By"); //这一条无效,需要在web.config中配置去除X-Powered-By
                        }
                    }
                }
                catch (Exception ex)
                {
                    //   Log.HandleException(ex);
                }

            }
        }

    以下是web.config


    <configuration>
        <system.web>
          <compilation debug="true" targetFramework="4.0" />
          <httpRuntime enableVersionHeader="false" />
        </system.web>


      <system.webServer>
        <httpProtocol>
          <customHeaders>
            <!--去除 X-Powered-By 头部信息 -->
            <clear/>
          </customHeaders>
        </httpProtocol>

        <security>
          <!-- 去除 Server 头部信息-->
          <requestFiltering removeServerHeader="true" />
        </security>

        <modules>
          <add name="mysvr" type="WebApplication2.mysvr, WebApplication2"/>  这引用前面写的module
        </modules>
        
     
        
      </system.webServer>
     
    </configuration>

  • 相关阅读:
    关闭防火墙,仍然无法访问80端口 centos
    apache添加虚拟主机(windows下)
    PHP实现文件下载
    chmod 777 修改权限之后,文件夹颜色变绿:解决方案
    element ui table(表格)点击一行展开
    vue中eventbus 多次触发的问题
    console.log、toString方法与js判断变量类型
    另一个维度:cocos-2d VS vue
    浏览器内置的base64方法
    H5网页涂鸦canvas
  • 原文地址:https://www.cnblogs.com/81/p/15309182.html
Copyright © 2011-2022 走看看