• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.Net自定义重写HttpServer标头

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Net中我们为了安全或其他原因起见 可能需要修改我们的标头报文等

以下方法我们通过使用HTTP Module来使用编程的方式来去除或修改它

首先我们自定义一个类CustomServerHeaderModule继承自IHttpModule 并为PreSendRequestHeaders事件创建事件处理程序

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Cloud.ApiWeb.Models
{
    public class CustomServerHeaderModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += OnPreSendRequestHeaders;
        }
        public void Dispose()
        {
        }
        void OnPreSendRequestHeaders(object sender, EventArgs e)
        {
            //移除Server标头
            //HttpContext.Current.Response.Headers.Remove("Server");
            //重新设置Server标头
            HttpContext.Current.Response.Headers.Set("Server", "Windows Server 2012");
        }
    }
}


接下来在web.config文件中配置

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="FirstModule" type="Cloud.ApiWeb.Models.CustomServerHeaderModule,Cloud.ApiWeb" />
    </modules>
  </system.webServer>

Type有两部分组成第一部是命名空间及类名,也就是类型名;后面是程序集名。

 

如果该类建在App_Code下 则不需要指定程序集 如下

<add name="FirstModule" type="CustomServerHeaderModule" />

 

注:由于是托管模块 你需要将你的项目部署在IIS中 方有效果 VS中无效


下来我们可以预览下:

通过IE调试工具捕获,我们可以很清楚的看到响应标头的变化

未修改的:

修改后的:

好 到此为止吧 希望本文能帮到你~~

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net计算两个时间差发布时间:2022-07-10
下一篇:
[Asp.netMVC]Html.AntiForgeryToken()发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap