【问题标题】:Unexpeted results logging $_SERVER['SERVER_NAME']意外结果记录 $_SERVER['SERVER_NAME']
【发布时间】:2015-02-06 05:38:25
【问题描述】:
$_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);}

我在我的开发服务器上创建了一个用于登录的目录,为这些日志分配了各种值,但我得到了一些与我的网站完全无关的解析 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

【问题讨论】:

    标签: php logging


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 2023-04-04
      • 2018-04-17
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 2019-06-29
      • 2012-07-08
      相关资源
      最近更新 更多