获取呼叫者(CURL)IP和SERVER_NAME - PHP

时间:2013-02-27 17:36:29

标签: php curl

嘿,我有一些服务器用curl调用我的API,每个调用者都有一个API密钥,在我的数据库中注册了一个服务器名称(例如example.com) - 但是在某种程度上它返回了HOST(等等) .net1.meebox.net)所以我无法验证调用。目前我只是使用:

$ip = $_SERVER['REMOTE_ADDR'];
$website = gethostbyaddr($_SERVER['REMOTE_ADDR']);

$ip = $_SERVER['REMOTE_ADDR'];
$website = $_SERVER['REMOTE_NAME'];

我怎样才能告诉我属于服务器而不是主机的ip和服务器名称。

谢谢! :)

1 个答案:

答案 0 :(得分:0)

并非所有IP都具有反向映射。在那些反向映射中,它们可能不会映射到它们来自的“主机名”。例如。 DNS名称可以将无限数量的主机名映射到单个IP。但是,单个IP只能“反转”为单个主机名。

e.g。考虑共享服务器:

www.example.com -> 192.168.1.3
www.example.net -> 192.168.1.3
www.example.org -> 192.168.1.3
etc...
etc...
etc...

192.168.1.3 -> server-x.hostingcompany.com

您无法可靠地检索远程主机的主机名,因为您所拥有的只是一个IP地址,并且IP不是任何特定主机名的“唯一”标识符。