我必须显示当前的服务器主机(在PHP中,但它不是很重要)。我不知道我是哪个主持人。
如果没有安全问题,我怎么能这样做?如果我使用$_SERVER['HTTP_HOST']
,它来自客户端,所以我不相信这些信息(我认为它可以重写)。
PS:我读过这篇文章:How reliable is HTTP_HOST?但我没有找到任何回复(也许我没有正确搜索......)
答案 0 :(得分:5)
使用$_SERVER['SERVER_NAME']
为此目的,来自文档:
执行当前脚本的服务器主机的名称。如果脚本在虚拟主机上运行,则这将是为该虚拟主机定义的值。
答案 1 :(得分:1)
如果您不打算将其用于安全性或身份验证,则$_SERVER['HTTP_HOST']
应该没问题。您的脚本小子访问者的值可能不正确,但您的常规用户将使用行为良好的浏览器。
只要您像对待任何其他用户输入那样对待它,就不会有任何安全问题。清理它,不建立文件名或基于它执行命令,在显示之前将其转义等等。
答案 2 :(得分:0)
你甚至可以给出
php_uname('n');
或者甚至
`hostname -f`
(注意这里的反引号)一试。