gethostbyaddr会显示我的服务器的IP地址吗?

时间:2018-09-27 11:55:27

标签: php gethostbyaddr

我使用CloudFlare,所以服务器的IP地址是隐藏的,因此我想保持这种状态。当我发出HTTP请求时,显然我的IP将被泄露。但是gethostbyaddr会显示我的IP地址吗?我想获取用户的IP主机,所以我这样做:

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

用户是否可以由此找到我服务器的IP地址?

1 个答案:

答案 0 :(得分:3)

gethostbyaddr执行反向DNS查找。它不会直接与主机联​​系。但是,它可以与DNS服务器联系以进行反向查找。

通常 PHP将询问系统的DNS服务进行反向查找,如果答案没有被缓存,则服务将联系其最近的DNS服务器以获取答案。如果那个没有答案,它将离开并联系最近的上游服务器等等,直到答案回来。

因此,很少有服务器会比其最近的DNS服务器更远地伸出援手。当然,这并非不是不可能,并且如果您的服务器碰巧与您的用户可以控制的DNS服务器联系,则该用户可以看到传入的DNS解析请求。

那将是极为罕见的,而且通常,您的服务器与之联系的唯一DNS服务器是其最近的DNS服务器,但不能完全排除。

相关问题