获取调用者(CURL) IP和SERVER_NAME - PHP


Get callers (CURL) IP and SERVER_NAME - PHP

嘿,我有一些服务器正在用curl调用我的API,每个调用者都有一个API密钥,该密钥在我的数据库中以服务器名称(等example.com)注册-但不知何故它返回主机(等web1.meebox.net),所以我无法验证调用。目前我只使用:

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

:

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

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

谢谢!:)

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

。考虑一个共享服务器:

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不是任何特定主机名的"唯一"标识符。