【问题标题】:Azure Web Sites - Remove X-Powered-By Header from PHPAzure 网站 - 从 PHP 中删除 X-Powered-By 标头
【发布时间】:2014-07-30 15:01:09
【问题描述】:

我想删除 PHP 在 Azure 网站中公开的 X-Powerd-By 标头。

我已经删除了 web.config 文件中所有暴露软件版本的标头。

<httpProtocol>
    <customHeaders>
        <remove name="X-Powered-By" />
    </customHeaders>
</httpProtocol>

但是有两个。

来自 ASP.Net 的那个已经不见了。但是第二个只能在php.ini中用

关闭
expose_php = off

我无法覆盖 .user.ini 中的值,因为它只能在 php.ini 本身中更改,无法访问。

这只能通过为 Azure 网站提供我自己的 PHP 版本来完成吗?因为在那里我可以更改 php.ini 文件?

【问题讨论】:

    标签: php azure http-headers


    【解决方案1】:

    当我尝试从 WordPress 站点中删除此标头时,此处接受的答案对我不起作用,但以下 URL 重写规则通过将标头的值置空而不是完全删除它为我完成了大部分工作。

    <configuration>
      <system.webServer>
        <rewrite>
          <outboundRules rewriteBeforeCache="true">
            <rule name="Remove X-Powered-By HTTP response header">
              <match serverVariable="RESPONSE_X-Powered-By" pattern=".+" />
              <action type="Rewrite" value="" />
            </rule>
          </outboundRules>
        </rewrite>
      <system.webServer/>
    </configuration>
    

    【讨论】:

    • 这适用于 2018 年 3 月 6 日带有 php 应用程序的 azure gov。谢谢
    • 在尝试了其他解决方案之后,这似乎可行。应该是公认的答案。
    【解决方案2】:

    据我所知(我已经尝试过几次),没有办法通过配置来做到这一点。但是,您可以以编程方式进行。不是理想的解决方案,但它有效。将其放在页面文件的顶部。

    <?php header_remove("X-Powered-By"); ?>
    

    注意:这是对现有 web.config 设置的补充,该设置会删除 ASP.NET 的 X-Powered-By 标头。

    【讨论】:

    • 我无法让它工作。我一般不熟悉 PHP,但我将此更改应用于自定义 WordPress 主题中 page.php 的顶部和底部,但它没有任何效果,除非我遗漏了什么。
    • @martin_costello mybe 您的 php 代码未在主题中解释。只需打开另一个包含代码详细信息的问题,就会有人在这里为您提供帮助
    • 我以另一种方式为自己解决了这个问题,现在我将在此处添加它作为替代答案。
    • 使用@MartinCostello 回答无 php.ini 应用程序范围的解决方案。
    【解决方案3】:

    如果您使用的是 Azure Linux Web 服务,请将其添加到您的 .htacess

    php_value expose_php off
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-29
      • 2011-02-09
      • 2021-05-06
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多