【问题标题】:C#.NET - IIS Server issues and removing HTTP response headersC#.NET - IIS 服务器问题和删除 HTTP 响应标头
【发布时间】:2012-09-22 13:08:31
【问题描述】:

我正在用 C#.NET 编写一个网站,并希望删除 HTTP 响应标头中包含的服务器信息。我正在运行 Windows 7 并运行 IIS 7.5。

现在我有两个问题。第一个问题是,每当我使用 HttpFox 获取响应标头时,服务器都被列为 ASP.NET Development Server 10 而不是 IIS 7.5

第二个问题是我无法删除服务器部分。我尝试安装 URLScan 并将 RemoveServerHeader 配置修改为 1 以使其隐藏。我尝试从 IIS 停止 HTTP 响应标头服务。我试图通过遵循这篇文章“Remove HTTP response headers to hide your framework”和其他类似的文章来以编程方式改变它。但是,每当我使用 HttpFox 运行网站时,服务器部分都保持不变。

请问我该怎么做才能解决这个问题?这非常重要,因为它是我论文的一部分。

非常感谢任何帮助:)

【问题讨论】:

  • 您确定您使用的是 IIS 而不是 Visual Studio 开发服务器?
  • 正如 Erwin 所说,这听起来像是开发而不是生产中的 problem,因为 IIS 没有在其标头中返回“ASP.Net Development Server 10”(我见过的)。这是典型的使用内置的默认 ASP.Net 开发托管应用程序(通常称为 Cassini)。
  • 可能是我使用的是 Visual Studio 开发服务器。该网站存储在我的电脑上,只有我可以查看,也就是说,它实际上并没有在线托管。
  • 那么有没有办法改变visual studio开发服务器的响应头呢?
  • 为什么要更改开发服务器上的标头?

标签: c# iis http-headers


【解决方案1】:

有 2 个地方正在添加标题。 IIS 和您的 ASP.NET 或 WCF 等应用程序端。

不确定Visual Studio 内置网络服务器,但是无论如何它都不会在生产中使用,那何必呢? 您还可以在 Visual Studio 中配置您的 Web 项目以使用本地 IIS 或 IISExpress 而不是 VS bultin。 (见属性/网络标签) 您可以从 IIS 管理 GUI 中删除 IIS 端标头。

根据 ASP.NET,您可以挂接到 PreSendRequestHeaders 事件处理程序并查看那里有什么,如果您愿意,可以删除。 在 WCF 中类似,您可以选择删除响应标头,但方式不同(消息拦截器)。

【讨论】:

  • 我使用的是 Cassini 服务器,这就是我的解决方案不起作用的原因。愚蠢的我:s 当我在 IIS 上发布网站时,该解决方案有效。谢谢你的回答:)
猜你喜欢
  • 2014-04-19
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 2017-07-11
  • 1970-01-01
相关资源
最近更新 更多