【问题标题】:Determine if someone uses Nginx, Apache or Lighttpd确定是否有人使用 Nginx、Apache 或 Lighttpd
【发布时间】:2017-01-04 11:09:17
【问题描述】:

我正在尝试确定是否有人在 PHP 中运行 Nginx、Apache、Lighttpd 或其他网络服务器。

我用预定义的 $_SERVER 变量尝试了这个,但我不确定它是否以及如何工作,因为我只能在 Apache 2.4 上测试它。 有谁知道我如何确定某人正在使用什么网络服务器?

【问题讨论】:

  • 知道他们使用什么网络服务器会解决什么问题?

标签: php apache nginx webserver lighttpd


【解决方案1】:

如果网络服务器未配置隐藏服务器名称,则可以通过以下方式确定服务器名称

<?php
   echo $_SERVER['SERVER_SOFTWARE'];
?>

1) Apache不能直接配置隐藏服务器名,但是可以通过安装mod-security来实现

2) nginx 和 lighttpd 可以轻松配置为隐藏服务器指纹。

【讨论】:

  • 假设服务器 (a) 没有完全压制它并且 (b) 说实话。这个问题似乎是在询问代码正在运行的服务器,而不是任意第三方服务器。
  • 这些 cmets 没有意义,因为答案已完全从原始答案中重写。
【解决方案2】:
<?php
echo $_SERVER['SERVER_SOFTWARE'];

【讨论】:

    猜你喜欢
    • 2011-01-08
    • 2010-09-15
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2011-10-26
    • 2012-03-14
    相关资源
    最近更新 更多