服务器签名关闭需要访问 php.ini
我想将以下设置添加到我的服务器:
ServerSignature Off
ServerTokens Prod
但是经过研究,我必须将这些设置添加到我的 httpd.conf 或 apache2.conf 文件中。它在我的公共 webroot 上的 php.ini 或 .htaccess 中不起作用。如果我无法访问这两个服务器文件(httpd.conf 或 apache2.conf),我如何才能访问或者是否有其他方法可以使这些设置发挥作用。这是我需要尽快解决的安全问题。谢谢
I want to add the following settings to my server:
ServerSignature Off
ServerTokens Prod
However after research I have to add these settings in my httpd.conf or apache2.conf file. It wont work in my php.ini or .htaccess on my public webroot. If I have not got access to these two server files (httpd.conf or apache2.conf) how can I get access or is there an alternative way to get these settings to work. It is a security issue I need to sort out ASAP. Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,您不能通过 php 或任何其他语言配置 Apache(因为这些是 apache 设置)。
您可以使用一些 mod_rewrite 来隐藏这些值,使其不显示在错误页面上,这样任何对服务器或 Web 应用程序的请求都会被定向到一个 php 脚本,该脚本会输出您想要的任何错误。
这些值也显示在 apache 发送到浏览器的 http 响应标头中,因此也许您可以通过
header
函数,使用可选参数$bool_replace
= true (这是默认值):编辑:从 comment 在 php 的标头文档中,这有效,您还应该覆盖
X-Powered-By
标头。No, you can't configure Apache (as these are apache settings) via php nor any other language.
You may hide these values from showing on error pages with a little of mod_rewrite that any request to your server or web application gets directed to a php script that outputs whatever error you want.
These values are also shown in the http response headers that apache sends to the browser, so maybe you can overwrite them with php via the
header
function, using the optional param$bool_replace
= true (which is the default value):edit: Judging from a comment in php's header documentation, this works, and you should also overwrite the
X-Powered-By
header.