记录$ _SERVER ['SERVER_NAME']的意外结果

时间:2015-02-06 05:38:26

标签: php logging

$_DIR['ROOT'] = $_SERVER['DOCUMENT_ROOT'] .'/..';//Outside the scope of WWW root
$_DIR['LOG']  = $_DIR['ROOT'] .'/logs/LogFiles/' . $_SERVER['SERVER_NAME'];
if (!is_dir($_DIR['LOG'])){Mkdir($_DIR['LOG'],0700,TRUE);}

我在我的Dev服务器上创建了一个目录,为这些日志分配了各种值,但我得到了一些与我的网站无关的DNS名称解析。

为什么$ _SERVER ['SERVER_NAME']会解析与我的服务器无关的其他名称?

预期的可能性

  • 127.0.0.1

  • 内部IP地址

  • 外部IP地址

  • test.example.com(我的网站URI)

意外结果

  • httpheader.net

  • www.baidu.com

  • www.epochtimes.jp

  • www.ly.com

1 个答案:

答案 0 :(得分:1)

如果您的Web服务器接受对任何和所有主机名的请求(通常是因为它具有默认的vhost),那么可以使用任意HTTP Host标头调用您的PHP脚本。现在,通常只有在有人不顾一切地向您的IP地址发送手动制作的HTTP请求时才会发生这种情况。但是,特别是因为那里提到了亚洲网站,您可能已经成为Grass Mud Horsethe Chinese playing around with their DNS manipulation capabilities的受害者,在您的服务器(有意或无意)上喷洒随机流量。更好的解释还可能包括某处过时的DNS缓存,某人系统中的错误配置或基于谁知道什么做随机查询的随机机器人。