首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTTP方法显示IIS上的服务器头

HTTP方法显示IIS上的服务器头
EN

Server Fault用户
提问于 2019-02-18 12:46:04
回答 1查看 947关注 0票数 4

困在了很奇怪的问题上,弄不出怎么处理。因此,我有托管在IIS 10中的asp web api应用程序。我使用IIS重写模块和出站规则来删除任何服务器头:

代码语言:javascript
运行
复制
  <outboundRules rewriteBeforeCache="true">
    <rule name="Remove Server header">
      <match serverVariable="RESPONSE_SERVER" pattern=".*" />
      <action type="Rewrite" value="" />
    </rule>
  </outboundRules>

除了我使用调试动词发送请求时,它总是像一个符咒一样工作。在这种情况下,它返回服务器头和响应体,说明没有实现调试。我试图通过使用下一个设置来解决这个问题:

代码语言:javascript
运行
复制
<security>
  <requestFiltering removeServerHeader="true" >
    <verbs allowUnlisted="true">
      <clear/>
      <add verb="DEBUG" allowed="false"/>
    </verbs>
  </requestFiltering>
</security>

顺便说一句,requestFiltering removeServerHeader="true“也会删除服务器头(当IIS重写被禁用时)。同样,在所有情况下,除调试请求外。技术上不允许调试也不会给我带来什么,我不再得到请求的主体,但是仍然可以得到服务器信息的服务器头。我也尝试了自定义模块,也没有运气。

我还能做些什么来隐藏用于调试请求的Server变量?

EN

回答 1

Server Fault用户

发布于 2022-12-16 20:17:47

ASP.NET有一个web.config,用于设置站点的调试状态。在web.config文件中,示例将如下所示。

由于ASP.NET可能有不同的站点路径,因此需要确保正确设置每个web.configs。

代码语言:javascript
运行
复制
<system.web>
     <compilation debug="true">
     </compilation>
</system.web>

这用于调试目的,但如果不小心管理,则可以利用该漏洞。

这方面的参考是:站点行为-应用程序调试

我希望这能帮到你。致以敬意,

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/956012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档