确定某人是否使用 Nginx、Apache 或 Lighttpd

Determine if someone uses Nginx, Apache or Lighttpd

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

我尝试使用预定义的 $_SERVER 变量进行此操作,但我不确定它是否以及如何工作,因为我只能在 Apache 2.4 上对其进行测试。 有没有人知道我如何确定某人正在使用的网络服务器?

如果网络服务器没有配置为隐藏服务器名称,那么您可以通过

确定服务器名称
<?php
   echo $_SERVER['SERVER_SOFTWARE'];
?>

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

来实现

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

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