Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息

这篇具有很好参考价值的文章主要介绍了Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ASP MVC开发的Web默认情况下会在请求的回应中暴露Server、X-AspNet-Version、X-AspNetMvc-Version、X-Powered-By等相关服务端信息,Session ID对应的Cookie也会以“ASP.NET_SessionId”默认命名,公开这些敏感信息会存在一定的安全风险。

X-SourceFiles标头用于被IIS / IIS Express中某些调试模块理解,它包含到磁盘上源文件的base64编码路径,并用于将页面生成的输出链接回该源文件,只在本机请求下生成,应用程序部署到实际服务器时,并不会出现,无需担心!

https://www.cnblogs.com/xixifusigao/p/3953279.html
https://www.orcode.com/question/1214535_kf9ca5.html

Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息,.Net,ASP.Net站点信息安全

Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息,.Net,ASP.Net站点信息安全

(以下转载自:https://www.cnblogs.com/namexiaoqi/p/10981224.html)

一、隐藏:X-AspNetMvc-Version

在Global.asax文件的Application_Start方法中添加:

MvcHandler.DisableMvcResponseHeader = true;

二、移除 Header 中的 Server

在Global.asax文件中添加: 

protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
    var app = sender as HttpApplication;
    if (app == null || app.Context == null)
    {
        return;
    }

    // 移除 Server
    app.Context.Response.Headers.Remove("Server");
}

三、移除 X-Powered-By

在Web.config文件中添加:

<system.webServer>
    <!-- 其它内容 -->
    <httpProtocol>
        <customHeaders>
            <!-- 移除 X-Powered-By -->
            <clear />
            <!-- 还可以添加自己的 X-Powered-By 做为标识 -->
            <add name="X-Powered-By" value="bbb.com" />
        </customHeaders>
    </httpProtocol>
</system.webServer>

四、移除X-AspNet-Version

在Web.config文件中<httpRuntime enableVersionHeader="false" />

<httpRuntime enableVersionHeader="false" />

五、更改SessionID默认的“ASP.NET_SessionId” CookieName

在Web.config文件中设置 <sessionState cookieName="要伪装显示的名字" />

(注意,设置完后浏览器要清理下缓存的cookie, 不然设置后依然还是会附带缓存的“ASP.NET_SessionId” Cookie)

<system.web>
    <sessionState cookieName="J_SessionId" />
</system.web>
  • 未清理缓存的情况下,Cookie中依然附带前面缓存的“ASP.NET_SessionId”,但这只是个缓存问题:

Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息,.Net,ASP.Net站点信息安全

  • 清除浏览器缓存的“ASP.NET_SessionId”Cookie,之后不再附带:

Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息,.Net,ASP.Net站点信息安全

  • 清除浏览器Cookie缓存后,请求将不再附带“ASP.NET_SessionId”显示的Cookie, 而是成功以伪装的J_SessionId命名:

Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息,.Net,ASP.Net站点信息安全文章来源地址https://www.toymoban.com/news/detail-716689.html

到了这里,关于Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安装IIS及搭建asp.net程序遇到的问题

    一、安装IIS 在服务器管理中选择IIS,右键选择添加角色和功能 在服务器角色中,应用程序开发中要选择ASP.NET3.5、ASP.NET4.6功能。 单击下一步执行安装即可。 二、常见问题 问题1. HTTP 错误404.17 - Not Found 解决方法: 出现以上问题没有安装ASP.NET4.6功能,勾选安装即可。 安装后再

    2024年01月25日
    浏览(40)
  • C#进阶-IIS服务器发布ASP.NET项目

    对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以 IIS服务器 发布 ASP.NET 项目为例。 本地用 Visual Studio 打开一个可运行的

    2024年02月01日
    浏览(55)
  • 【详细】利用VS2019创建Web项目,并发送到IIS,以及IIS与ASP.NET配置

    如果选择创建新项目后打开没有以上选项,则需要对VS2019的安装进行修改 1、电脑左下角——开始——找到Visual Studio Installer打开——修改 2、选中图中框出的部分,点击安装即可,安装成功后重启VS就会有了 选择空项目,点击创建,等待项目创建成功 除了通过自己手写代码以

    2024年02月02日
    浏览(59)
  • 详解ASP.NET Core 在 IIS 下的两种部署模式

    KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择。ASP.NET CORE应用针对IIS具有两种部署模式,它们都依赖于一个IIS针对ASP.NET CORE Core的扩展模块。 IIS其实也是按照管道的方式来处理请求的,但是IIS管道和ASP.NET CO

    2024年02月10日
    浏览(49)
  • Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

    开启IIS 如果已开启跳过这步 打开控制面板-程序  打开IIS 发布Web程序(.Net Framework 4.8 web网页) 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限  如果不添加访问权限,运行时将会得到如下错误 设置权限   勾选上面添加的账户的修改权限 

    2024年01月21日
    浏览(85)
  • 由ASP.NET Core读取Response.Body引发的思考

        前几天有群友在群里问如何在我之前的文章《ASP.NET Core WebApi返回结果统一包装实践》的时候有点疑问,主要的疑问点就是关于Respouse的读取的问题。在之前的文章《深入探究ASP.NET Core读取Request.Body的正确方式》曾分析过关于Request的读取问题,需要读取Response的场景同样

    2023年04月10日
    浏览(41)
  • 在IIS上部署你的ASP.NET Core Web Api项目及Swagger

    与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响

    2024年02月10日
    浏览(52)
  • 《深入浅出.NET框架设计与实现》笔记6.2——ASP.NET Core应用程序多种运行模式之二——IIS 服务承载

     ASP.NET Core应用程序可以在多种运行模式下运行,包括自宿主(Self-Hosting)、IIS服务承载、桌面应用程序、服务承载。 因此选择和时的模式很重要。 IIS 服务承载 将 ASP.NET Core 应用程序托管在 Internet Information Services (IIS) 中。 利用 IIS 提供的高级功能,如负载均衡、HTTPS 支持和

    2024年04月26日
    浏览(46)
  • ASP.NET Core应用程序在IIS服务器上的运行环境介绍和下载安装(超详细)

    要想在 IIS 上成功运行 ASP.NET Core 应用程序,我们需要有ASP.NET Core 运行时和ASP.NET Core Module。而在这里我们仅需要下载ASP.NET Core Hosting Bundle 即可,这是为什么呢? 想了解的可以看文章末节的介绍。 ASP.NET 核心运行时使你能够运行现有的 Web/服务器应用程序。 在 Windows 上,我们

    2024年02月11日
    浏览(48)
  • 部署.net6 到 Windows server 2008 r2 IIS

    首先安装vc环境,文件下载:x64:https://go.microsoft.com/fwlink/?LinkId=746572 x86:https://go.microsoft.com/fwlink/?LinkId=746571 安装net6:dotnet-hosting-6.0.14-win.exe,下载地址: Download .NET 6.0 (Linux, macOS, and Windows)Download ASP.NET Core 6.0 Runtime (v6.0.14) - Windows Hosting Bundle Installer   安装完成之后,在iis的模块

    2024年02月02日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包