1
由于臭名昭着的有关“位置”重定向标头的IIS错误,我们必须使用“刷新”标题。可靠地检测PHP脚本是否在IIS下运行
所以,我想知道如果PHP脚本在IIS下运行以编程方式检测的最佳方法。
目前使用的方法是DIRECTORY_SEPARATOR !== '/'
,但显然Apache和Windows下的其他服务器uncorrectly认定为IIS。
我想过:
strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false
...但这个元素对应于HTTP响应的“服务器”头,而且它可能已经通过各种方式去除。
robuster方法的任何想法?
是的,我也发现了这篇文章,但是这种方法足够安全吗?除Apache和IIS以外的其他服务器的行为如何?最新(和未来)的IIS版本是否仍然会错过这个元素?另外,文章没有过时,但我想它已经写了很长一段时间了。 –
我对此毫不知情,但我只是想在web-app配置中使用简单的变量来定义当前使用的web服务器。 –