如何去掉IIS中Response Headers的X-Powered-By、X-AspNet-Version和Server项

IIS删除header中的Server、X-Powered-By、X-AspNet-Version 响应头信息原始头信息 Server Microsoft-IIS/7.5 X-AspNet-Version 4.0.30319 X-Powered-By ASP.NET 一、删除server: 1.下载安装StripHeaders https://github.com/Dionach/StripHeaders/releases/tag/v1.0.5 ... 阅读详情

使用IIS作为web服务器时,输出的aspx页面的response headers中总是会自动带上X-Powered-By、X-AspNet-Version和Server这几个项。而使用其他web服务器时,往往能 获得更加简洁的response headers。对于高负载的网站来说,能节省几个response header项,应该也能节省客观的流量。而从程序员的角度来说,要这些header项出来,一则暴露了网站程序所使用的版本,二来也破坏了简单之上的原 则。因此,一直都在寻找去掉他们的办法。

9588.com是一个典型的以IIS为服务器的网站,通过Firebug可查看其首页的Response Headers:

再来看看鲜果热文的Response Headers,使用的服务器为ngix,相对来说,要简洁得多了:

那么,是不是IIS中这些header项不能去掉呢?当然不是,看看ctrip.com的首页的Response Headers就可以知道:

暂且不去管这其中技术人员的差异,只管来考虑如何去掉这几个项好了。

一、去掉headers中的X-Powered-By

这个是最简单的,因为在IIS里查看网站的“属性”,选择“HTTP头”选项卡就能看到在“自定义HTTP头”中有“X-Powered-By”选项,直接把它删除掉就OK了。


二、去掉Headers中的X-AspNet-Version


X-AspNet-Version的去掉似乎从IIS的选项里边找不到,因此也就变得复杂些。不过网上还是会有对策。在一篇Remove the X-AspNet-Version header 的文章就明确给出了问题的答案:
只要在web.config文件里的<system.web>节里增加 <httpRuntime enableVersionHeader="false" /> 即可。
msdn里边是这么解释这个选项的含义的:

enableVersionHeader

可选的 Boolean 属性。

指定 ASP.NET 是否应输出版本标头。Microsoft Visual Studio 2005 使用该属性来确定当前使用的 ASP.NET 版本。对于生产环境,该属性不是必需的,可以禁用。

说明:该属性在 .NET Framework 1.0 中不可用。

默认值为 True 。

三、去掉Headers中的Server
这个项的去掉就可有可无了,而且作为一种对web服务器自身的标识,肯定不愿意让用户能轻而易举地去掉。不过,在
How to remove Server Header on IIS5.0/6.0 这篇文章中,我们还是能找到解决问题的办法:

从http://www.microsoft.com/technet/security/tools/urlscan.mspx 下载urlscan,安装,找到../inetsrv/urlscan/urlscan.ini 文件中的 RemoveServerHeader 属性,将其设为1即可。

这个软件的最新版本是2.5,下载以后,发现还没有提供对IIS7的支持。

Web应用安全之Response Header里的敏感信息 目录 Web应用安全之Response Header 前言 1.1  那些敏感的header 1.2 删除敏感的header 1.2.1 删除server字段 1.2.2 删除X-Powered-By字段 1.2.3 删除 X-AspNet-Version字段 1.2.4 删除X-AspNetMvc-Version     前言 在Kali Linux(http:/ 阅读详情

相关推荐

ASP.NET Web Forms深度解析:从Page生命周期到生产部署

ASP.NET Web Forms是微软早期面向Windows平台的Web开发模型,其核心在于事件驱动、服务端控件与ViewState状态维持机制。理解其Page生命周期、Postback协议映射、HttpModule管道介入等底层原理,不仅有助于维护大量现存的.NET Framework遗留系统,更能反向深化对现代框架(如ASP.NET Core中间件、React状态管理)设计哲学的认知。在政务、金融、央企等强合规场景中,Web Forms仍承担着关键业务系统支撑任务,尤其在需零操作习惯变更、快速改造VB

世范水晶 267

IIS删除http header信息:Server, X-Powered-By, X-AspNet-Version和 X-AspNetMvc-Version

一、 隐藏server信息 先下载urlrewrite并安装 附: Urlrewrite 工具下载 https://www.iis.net/downloads/microsoft/url-rewrite 在网站目录下web.config文件以下位置<system.webServer>里修改 <rewrite> <outboundRules rewriteBeforeCache="true"> <rule name="Remove Serv

测试进阶之路 3295

dboxShare v2.0.0.11:企业级 .NET Web 网盘源码实战指南

Web 网盘是企业内部文件协作的基础架构,其核心在于安全认证、大文件上传、权限控制与生产稳定性。基于 ASP.NET Web Forms 构建的 dboxShare v2.0.0.11 提供了可落地的 .NET 企业网盘参考实现,支持 SQL Server/SQLite 双数据库、断点续传、ACL 文件夹级权限继承及物理路径隔离设计。它规避了常见开源项目中硬编码配置、明文密码、中文路径乱码、并发崩溃等典型缺陷,适用于制造业 ERP 内网、图纸共享、自主可控协作平台等场景,是深入理解 .NET 传统 Web

weixin_33755557的博客 255

IIS去除无用的HTTP响应头

IIS去除无用的HTTP响应头最开始的做法遇到的问题解决方案 最开始的做法 修改Web.config配置文件去除X-AspNet-Version、X-Powered-By <system.web> <!--关闭ASP.Net版本号--> <httpRuntime enableVersionHeader="false"/> </system.web> <system.webServer> <httpProtocol&

Mr_ZTQ 2291

【Linux】U盘配置Ubuntu系统 ——(Win10+Ubuntu20.04)双系统安装教程

Ubuntu系统安装

WS_Change的博客 4331

基于Python的网络拓扑图绘制

最近写论文画了许多图,在这里记录一些。当然,如果仅仅是展示性图片的话也可以使用visio,但是这里我仍然想探究一下如何使用pyhon画出美观的网络拓扑图。(1)根据邻接矩阵画出网络拓扑图(2)画出网络拓扑图,并对节点和链路进行表示,包括对节点和链路的标号,颜色区分,以及尺寸区分。

m0_53961910的博客 7093

IIS 取消/删除Header中的Server消息头

找了一大圈,最后一句话解决,记录下。 Global.asax.cs文件中,添加如下代码,搞定: protected void Application_PreSendRequestHeaders() { Response.Headers.Remove("Server"); } ...

wapit的专栏 4887

Java写一条吃满屏幕的贪吃蛇(A*自动寻路算法和一些简单的策略) 二

上一篇文章介绍了一条贪吃蛇的简单实现,这一篇介绍贪吃蛇的自动寻路算法 ,说是自动寻路其实也就是一种遍历地图的算法,如果玩过游戏肯定知道游戏里面一般会有自动寻路功能,贪吃蛇的自动寻路算法也就是实现这个功能。下面慢慢介绍这种算法吧。    最开始,我没有在网上找资料的时候,我对于设计寻路算法的看法是遍历整个地图,将障碍物做上标记,然后找一条能够到达目的地的线路就可以了。所以最开始我用了特别暴力的方式来...

Sober_yang的博客 3632

深入研究X-Powered-By头的安全隐患与解决方案

本文将深入探讨X-Powered-By头在ASP.NET中的潜在风险,以及是否有必要隐藏这一头信息。通过生动的例子和实用的建议,帮助读者理解如何通过去除或隐藏X-Powered-By头来提升站点的信息安全性。

todoitbo的博客 8856

STM32驱动2.8寸TFTLCD屏幕实战:从看懂原理图到点亮第一个像素(基于ILI9341)

本文详细介绍了如何使用STM32驱动2.8寸TFTLCD屏幕(基于ILI9341驱动芯片),从硬件连接到软件配置,包括FSMC接口设置、ILI9341初始化序列、坐标设置及基础绘图函数实现。文章还提供了常见问题排查指南和性能优化技巧,帮助开发者快速解决屏幕不亮等问题,并提升显示性能。

weixin_42665255的博客 267

DeerFlow 系列教程 第三篇 | 核心技术深度剖析:Skills、Memory 与 Context Engineering

摘要化是 Context Engineering 中最关键的组件——它直接决定了长对话的可用性。Skills 技能系统通过渐进式加载的三层模型,在保持系统提示词轻量的同时,支持无限数量的技能扩展。从发现到执行的 10 个生命周期阶段,配合 AI 驱动的安全扫描和多层缓存,构成了一个生产级的技能管理框架。Memory 长期记忆系统通过文件系统持久化、LLM 驱动的信息提取和防抖动异步更新,实现了跨会话的认知持久化。六类事实分类体系和修正信号检测机制,让 Agent 能够从交互中持续学习和改进。

weixin_43674738的博客 280

ASP.NET MVC中移除冗余Response Header

本文主要介绍如何优化ASP.NET MVC使用IIS时Response Header中的不必要的信息 默认的,创建一个ASP.NET MVC项目,会在Response Header中包含一些敏感的信息,这些信息是没有什么用处的但是会暴露出IIS的配置信息等。 下面是默认的Response Header信息: Cache-Control:private, s-maxage=0 Content-Enc...

weixin_43311774的博客 380

软考高级架构师笔记-10数学计算题

专栏《软考高级架构设计师》更新了,本章列举了10个场景计算题的解法,温故而知新,大家快来卷一卷

java后端开发的博客,不仅仅是后端开发 1598

Remove Unwanted HTTP Response Headers

Remove Unwanted HTTP Response Headers 原文链接:https://docs.microsoft.com/zh-cn/archive/blogs/varunm/remove-unwanted-http-response-headers 项目 2013/04/23 5 分钟可看完 The purpose of this blog post is to discuss how to remove unwanted HTTP response headers from the r

ChenDianDeLiuXing的博客 416

从点云到舱口尺寸:船甲板舱口检测的算法实现

本文提出了一种从船甲板激光扫描点云中自动检测舱口尺寸的算法。通过数据预处理(降采样、去噪、平面分割)后,采用甲板投影轮廓法将3D点云转换为2D图像,利用双次闭运算解决扫描碎片化问题,通过轮廓树检测内轮廓识别舱口。算法最终能稳定检测出三个主要舱口的长宽尺寸、面积和位置信息,矩形度超过0.89。该方法克服了扫描稀疏和围壁结构复杂的问题,参数可调性强,适用于工程实践。关键创新点在于将舱口识别转化为图像中的"洞"检测,而非直接处理3D几何特征。

点云兔子的博客 146

PCIe协议之 Equalization篇 之 谈谈几种模式

对于两端有能力最高支持 32 GT/s 及以上速率的设备,如果把目标速度设置为 8 GT/s 或 16 GT/s 速率,是不建议采用 Bypass-Equalization-to-Highest-Rate 模式的,即便采用了,也不会针对 8 GT/s 或 16 GT/s 的目标速率进行 EQ。对于支持 32 GT/s 及以上速率的设备,其可能根本无需工作在 8 GT/s 或 16 GT/s 速率,这时再针对 8 GT/s 或 16 GT/s 速率进行 EQ,多少有点浪费。

那么菜的博客 563

移除IIS默认的响应头(转载)

转载地址:http://www.cnblogs.com/dudu/p/iis-remove-response-readers.html 在IIS+ASP.NET的运行环境,默认情况下会输出以下的响应头(Response Headers): 那如何移除这些响应头呢?下面我们来一个一个移除。 1. 移除Server 借助IIS URL Rewrite Module,添加如下的重写...

weixin_30279751的博客 220

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Removing Unnecessary HTTP Headers in IIS and ASP.NET 在ASP.Net和IIS中删除不必要的HTTP响应头...

IntroductionWhenever a browser makes an HTTP request to a web server, it sends along several HTTP headers. These HTTP Headers are used to provide the web server with information to assist with handlin...

weixin_34220963的博客 170

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Asp.Net Remove Unwanted Headers

原文:http://blogs.msdn.com/b/varunm/archive/2013/04/23/remove-unwanted-http-response-headers.aspx 原文:http://blog.paulbouwer.com/2013/01/09/asafaweb-excessive-headers-and-windows-azure/ Server 在Global...

weixin_30323961的博客 214

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ASP.NET MVC3静态页绕过路由:IIS StaticFileModule配置实战

静态页面本质上是无需后端参与的纯资源,其核心原理在于由Web服务器原生模块(如IIS的StaticFileModule)直接响应文件请求,跳过整个应用框架管道。这种机制显著降低CPU与内存开销,提升并发承载能力,并为CDN分发、SEO优化和高可用兜底提供基础支撑。在ASP.NET MVC3等传统框架中,.html默认被纳入ASP.NET集成管道处理,导致‘假静态’问题——页面虽为HTML,却仍触发Controller初始化、View渲染等冗余流程。解决关键在于显式声明扩展名处理器优先级,通过web.conf

clugcpne10995的博客 525

深入IIS与ASP.NET管道:从HTTP协议到HttpContext的底层原理

HTTP协议是无状态的通信契约,其设计本质在于将状态管理权交还应用层;IIS架构演进(如集成模式)并非简单升级,而是Web服务器控制权向.NET运行时的系统性移交;AppDomain曾是.NET实现故障隔离的核心机制,其思想在.NET Core中由AssemblyLoadContext继承并轻量化。理解这些基础概念,是掌握现代Web开发底层逻辑的前提——它支撑着从传统IIS托管、.NET Framework管道事件调试,到.NET 6 Minimal Hosting模型迁移的全链路技术决策。本文聚焦HTTP

aobai7842的博客 390

ASP.NET网站IIS部署核心三关:扩展映射、通配符路由与权限配置

ASP.NET网站在IIS上无法正常运行,本质是请求未正确抵达ASP.NET运行时。其底层原理在于IIS的请求处理管线如何将HTTP请求分发给ASP.NET引擎——这依赖于扩展名映射(如.asmx/.cspx)、通配符路由(如/mvc/*)和Windows文件系统权限三大技术支柱。IIS6采用两阶段分离模型,需手动配置ISAPI映射与通配符应用映射;IIS7.5则依托集成管线,由web.config的<system.webServer><handlers>统一驱动,大幅简化部署逻辑。掌握这两套机制,不仅能解

diaozhiwa5526的博客 381

MVC页面移除HTTP Header中服务器信息

默认情况下,每一个MVC请求的HTTP Header中都会包含着当前服务器的一些信息,出于安全还是性能还是处女座的强迫症等等,都想把这些信息移除掉,增加一些应用程序的神秘感,如下,默认情况下Chrome中截获的HTTP Header信息: Cache-Control:private, s-maxage=0 Content-Encoding:gzip Content-Length:1184 C...

weixin_30950607的博客 413

ZAP 扫描规则 ID 注册表全解析:passive/active 规则编号体系与实战用法

**导读**:`docs/scanners.md` 是 ZAP(The ZAP by Checkmarx Core)项目中扫描规则(被动扫描、主动扫描、脚本扫描、客户端扫描等)ID 的唯一权威注册表,采用 `<ID> <NAME>` 的极简格式登记全部规则。本文以该注册表为主体,完整梳理 ZAP 的规则编号体系与命名规律,并结合仓库源码(`PluginPassiveScanner`、`Alert`

gitblog_00662的博客 370
上一篇: Comet,下一代Ajax?
下一篇: 构建不依赖于cookie的手机端用户登录机制
LOVE_NET_HCF
博客等级 码龄18年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值