IIS错误页面隐藏版本信息 - Web.Config customErrors配置

2023-11-11

背景

项目现按照国网的要求,测试后发现系统错误页面存在服务器版本号泄露,不允许部署安装

在这里插入图片描述

分析暴露原因

查看请求找到如下解释:

此错误页可能包含敏感信息,因为 ASP.NET 通过 <customErrors mode=“Off”/> 被配置为显示详细错误消息。请考虑在生产环境中使用 <customErrors mode=“On”/> 或 <customErrors mode=“RemoteOnly”/>
在这里插入图片描述

解决办法

遂找到项目使用的Web.Config<customErrors>中的mode=off删除。于是问题解决。

<configuration>
	<system.web>
		<customErrors>
		<customErrors defaultRedirect="ErrorReport.aspx">
			<error statusCode="statuscode" redirect="url"/>
		</customErrors>
		...

在这里插入图片描述

扩展学习customErrors使用方法

customErrors元素配置结构

元素 描述 备注
<customErrors> 提供有关ASP.NET 应用程序自定义错误消息的信息。 不适用于在 XML Web 服务中出现的错误。

在Web.Config配置文件中,customErrors元素配置结构的示例:

<configuration>
	<system.web>
		<customErrors>
		<customErrors defaultRedirect="ErrorReport.aspx" mode="On|Off|RemoteOnly">
			<error statusCode="statuscode" redirect="url"/>
		</customErrors>
		...

元素属性

属性 描述
Mode 指定启用、禁用或仅对远程客户端显示自定义错误。
defaultRedirect (可选) 指定发生错误时浏览器指向的默认 URL。如果没有指定 defaultRedirect,则会显示一般性错误。URL 既可以是绝对的(例如 http://www.***.com/ErrorPage.htm),也可以是相对的。相对 URL(如 /ErrorPage.htm)是相对于指定 defaultRedirect 的 Web.config 文件而言的,而不是针对产生错误的网页。以波形符 (~) 开头的 URL(如 ~/ErrorPage.htm)表示所指定的 URL 是相对于应用程序根路径而言的。

Mod 属性选项

Mod 选项 描述
RemoteOnly 指定仅向远程客户端端显示自定义错误,并向本地主机显示 ASP.NET 错误。这是默认值。
On 指定启用自定义错误。如果没有指定 defaultRedirect,用户将看到一般性错误。
Off 指定禁用自定义错误。这允许显示详细的错误。

服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止查看应用程序错误的详细信息。

子元素 描述
<error> 错误子标记可以出现多次。每出现一次便定义了一个自定义错误条件。

示例

下例指定了 ASP.NET 应用程序的错误处理页。

<configuration>
	<system.web>
		<customErrors defaultRedirect="GenericError.htm" mode="RemoteOnly">
			<error statusCode="500" redirect="InternalError.htm"/>
		</customErrors>
	</system.web>
</configuration>

说明:
    服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止查看应用程序错误的详细信息。
    若要使他人能够从本地服务器计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个<customErrors>标记。然后应将此<customErrors> 标记的“mode”属性设置为“RemoteOnly”。若要使他人能够在远程计算机上查看详细信息,请将“mode”设置为“Off”。
   通过修改应用程序的 配置标记的“defaultRedirect”属性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。

参考文章

Web.Config配置文件中customErrors元素的使用方法
关于Web.Config中的mode属性问题
IIS Web.Config中customErrors的使用方法(mode=On|Off|RemoteOnly)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IIS错误页面隐藏版本信息 - Web.Config customErrors配置 的相关文章

随机推荐

  • 华为OD机试 Python 查找人名

    描述 有一串由逗号分隔的人名 每个人名可能由一个或多个单词组成 请你设计一个方法 根据指定的前缀串 找出与前缀匹配的人名 前缀串的构造是由人名中每个单词的第一个字母组合而成 输入 一串用逗号分隔的人名 一个前缀串 输出 匹配前缀串的所有人名
  • 吴恩达机器学习之路---logistic regression

    logistic regression 一 Logistic 回归 利用matlib实现 基础版 1 logistic regression数学基础 1 1 此示例为二元分类 二元分类的最终预测结果h为 0 1 为获得此效果 使用sigmo
  • 02-----带宽分析-----码流、分辨率、帧率的概念及如何计算视频带宽

    相关文章 01 带宽分析 下载nmon分析软件 一 码流 分辨率 帧率的概念 1 码流 码流 Data Rate 是指视频文件在单位时间内使用的数据流量 也叫码率或码流率 是视频编码中画面质量控制中最重要的部分 一般我们用的单位是Kb s或
  • Java线程学习实例——采用同步锁,互斥锁与同步锁的区别,synchronized的使用方法

    栗子来源 https blog csdn net wenzhi20102321 article details 52524545 首先对java中同步锁与互斥锁进行区分 主要来源于知乎中的大佬总结如下 1 锁的概念 锁的目的就是避免多个线程
  • FTP服务器的文件模式属于,FTP服务器的文件模式属于

    FTP服务器的文件模式属于 内容精选 换一换 在SAP HANA系统中 Shared卷和Backup卷由SFS Turbo提供时 需要创建一个SFS Turbo 提供共享路径给SAP HANA节点 表1列出了弹性文件服务的常用功能 在使用弹
  • uc浏览器解析视频源码,不废话,直接源码

    package cn rs blog service jiexi import com jfinal kit HttpKit import org apache http client CookieStore import org apac
  • 计算时间复杂度--(简单版)

    步骤 1 找到执行次数最多的语句 2 语句执行语句的数量级 3 用O表示结果 计算时间复杂度的3个出发点 掌握这三个出发点 那么一向搞不懂的时间复杂度就可以迎刃而解啦 然后 1 用常数1取代运行时间中的所有加法常数 2 在修改后的运行次数函
  • Spark(火花)快速、通用的大数据处理引擎框架

    一 什么是Spark 火花 是一种快速 通用处理大数据分析的框架引擎 二 Spark的四大特性 1 快速 Spark内存上采用DAG 有向无环图 执行引擎非循环数据流和内存计算支持 内存上比MapReduce快速100倍 磁盘上快10倍左右
  • android surfaceflinger 老罗,「Android」SurfaceFlinger分析

    本篇针对surfaceFlinger模块进行分析 目录如下 1 SurfaceFlinger功能 1 1 BufferQueue原理 native libs gui模块 1 2 layer显示内存分配 native libs ui模块 1
  • 使用org.apache.tools.zip包操作文件

    import java io import org apache tools zip import java util Enumeration 功能 zip压缩 解压 支持中文文件名 说明 本程序通过使用Apache Ant里提供的zip工
  • pytorch中的torchvision.transforms模块详解

    torchvision transforms torchvision transforms是pytorch中的图像预处理包 包含了很多种对图像数据进行变换的函数 这些都是在我们进行图像数据读入步骤中必不可少的 data transforms
  • 最大最小爬山算法的一些总结

    据说MMHC是现行的比较成功的一种混合贝叶斯结构学习算法 其主要思想是 先建立一个贝叶斯网络的骨架 再通过贪心算法确定最终结构 那么要搞懂的是以下 1 框架是如何建立的 2 贪心算法是怎么运行的 3 最大最小体现在哪里 4 为什么会优于一般
  • Linux 关闭无用端口

    Linux 关闭无用端口 关闭系统不必要的端口 增强系统安全 此处以关闭111端口为例进行说明 查看本机正在监听的端口 netstat tlnup 查看正在监听的111端口 由哪个服务使用 cat etc services grep w 1
  • Adobe XD for Mac v35.2.12 界面设计和原型交互工具

    Adobe XD for Mac 是一款优秀的界面设计和原型交互工具 用户可以进行移动应用和网页设计与原型制作 同时它也是唯一一款结合设计与建立原型功能 并同时提供工业级性能的跨平台设计产品 设计师使用Adobe XD可以更高效准确的完成静
  • 继承中析构和构造的调用原则

    继承与组合混搭情况下 构造和析构调用原则 先说结论 原则 先构造父类 再构造成员变量 最后构造自己 先析构自己 在析构成员变量 最后析构父类 注 先构造的对象 后释放 class my 创建一个成员类 public int a my int
  • .Net WebAPI JWT身份验证

    一 开发环境 VS2017 enterprise win10 Pro 64 net 4 6 2 二 开发过程 1 使用VS2017 创建 netframework项目 选择WebApi 2 从Nuget包中搜索并安装JWT 3 在Model
  • 动态路由-BGP的基础配置

    一 给每个路由器配置ip地址 AR6 1 1 添加ip地址 interface GigabitEthernet0 0 0 ip address 1 1 1 1 255 255 255 0 2 配置BGP对等体 bgp 100 配置bgp的A
  • 使用PyQt(Python+Qt)+moviepy开发的视频截取、音视频分离、MP4转GIF动图工具免费下载分享

    专栏 Python基础教程目录 专栏 使用PyQt开发图形界面Python应用 专栏 PyQt入门学习 老猿Python博文目录 在因博文素材需要将软件操作制作成动画时 发现网上相关绿色使用工具都需要注册 否则动态上就会打上各种LOGO 无
  • C++ 类成员指针

    1 成员指针简介 成员指针是C 引入的一种新机制 它的申明方式和使用方式都与一般的指针有所不同 成员指针分为成员函数指针和数据成员指针 2 成员函数指针 在事件驱动和多线程应用中被广泛用于调用回调函数 在多线程应用中 每个线程都通过指向成员
  • IIS错误页面隐藏版本信息 - Web.Config customErrors配置

    目录 背景 分析暴露原因 解决办法 扩展学习customErrors使用方法 customErrors元素配置结构 元素属性 Mod 属性选项 示例 参考文章 背景 项目现按照国网的要求 测试后发现系统错误页面存在服务器版本号泄露 不允许部