我想删除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 文件吗?
答案 0 :(得分:3)
当我尝试从WordPress网站中删除此标题时,此处接受的答案对我没有用,但是以下网址重写规则通过消隐标题的值为我完成了大部分工作,而不是完全删除它。
<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>
答案 1 :(得分:2)
据我所知(我已经尝试了几次),没有办法通过配置来做到这一点。但是,您可以通过编程方式执行此操作。不是理想的解决方案,但它确实有效。把它放在页面文件的顶部。
<?php header_remove("X-Powered-By"); ?>
注意:这将是您现有的web.config设置的补充,该设置会删除ASP.NET的X-Powered-By标头。
答案 2 :(得分:0)
如果您使用的是Azure Linux Web服务,请将其添加到.htacess
php_value expose_php off