【问题标题】:How to remove non-IIS , OS source headers via powershell?如何通过 powershell 删除非 IIS、OS 源头文件?
【发布时间】:2021-07-21 11:19:09
【问题描述】:

https://stackoverflow.com/a/18152186/147637 中,有一个很好的示例如何使用 powershell 删除 X-Powered-By 标头。效果很好。

我如何在 powershell 中抑制这些 addl 标头:

  • 服务器
  • X-AspNet-版本
  • 和其他 X-Powered-By (X-Powered-By: UrlRewriter.NET 2.0.0)
Server: Microsoft-IIS/8.5
X-Powered-By: UrlRewriter.NET 2.0.0
X-AspNet-Version: 4.0.30319

【问题讨论】:

    标签: powershell iis


    【解决方案1】:

    “X-Powered-By:”实际上是从 IIS 根配置继承的。删除“X-Powered-By”标头的脚本假定您已安装 Powershell 和 Web 服务器 (IIS) 管理 Cmdlet 并找出正确的咒语。

    Import-Module WebAdministration;
    Clear-WebConfiguration "/system.webServer/httpProtocol/customHeaders/add[@name='X-Powered-By']"
    

    如需进一步帮助,您可以参考https://www.troyhunt.com/shhh-dont-let-your-response-headers/

    【讨论】:

    • Radadip,您的提议是针对 OP 中提到的 X-Powered-By 的吗?我已经做了“Remove-WebConfigurationProperty -PSPath MACHINE/WEBROOT/APPHOST -Filter system.webServer/httpProtocol/customHeaders -Name . -AtElement @{name='X-Powered-By'}”——你的命令会影响差异标头吗?
    • • 服务器:站点运行的网络服务器软件。典型示例包括“Microsoft-IIS/7.5”、“nginx/1.0.11”和“Apache”。 • X-Powered-By:站点运行的应用程序框架的集合(可以有多个)。典型示例包括:“ASP.NET”、“PHP/5.2.17”和“UrlRewriter.NET 2.0.0”。 • X-AspNet-Version:显然是仅 ASP.NET 的标头,典型示例包括“2.0.50727”、“4.0.30319”和“1.1.4322”。 • X-AspNetMvc-Version:同样,您只会在 ASP.NET 堆栈中看到它,典型示例包括“3.0”、“2.0”和“1.0”。
    • 我说的是上面提到的子弹头标头。
    【解决方案2】:

    要隐藏“X-AspNet-Version: 4.0.30319”,请使用

    Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT'  -Filter "system.web/httpRuntime" -name "enableVersionHeader" -value "False"
    

    要删除“X-Powered-By”,请使用

    Remove-WebConfigurationProperty -PSPath "MACHINE/WEBROOT/APPHOST" -Filter "system.webServer/httpProtocol/customHeaders" -Name . -AtElement @{name='X-Powered-By'}
    

    【讨论】:

      猜你喜欢
      • 2013-08-11
      • 2011-07-28
      • 1970-01-01
      • 2018-04-19
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 2022-08-24
      • 1970-01-01
      相关资源
      最近更新 更多