我使用CloudFlare,所以我的服务器的IP地址是隐藏的,我希望保持这种状态。显然,当我发出HTTP请求时,我的IP就会被泄露。但是gethostbyaddr会透露我的IP地址吗?我想得到用户的IP主机,所以我想:
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);这样用户就能找到我的服务器的IP地址了吗?
发布于 2018-09-27 12:02:03
gethostbyaddr进行反向DNS查找。它不直接与主机联系。但是,它可能会联系DNS服务器进行反向查找。
通常,PHP将要求系统的DNS服务进行反向查找,如果没有缓存答案,则该服务将与其最近的DNS服务器联系以获得答案。如果没有答案,它就会出去联系它最近的上游服务器等等,直到答案回来为止。
因此,服务器很少会超出其最近的DNS服务器的范围。但是,这当然不是不可能的,如果您的服务器碰巧与您的用户碰巧控制的DNS服务器联系,该用户可以看到传入的DNS解析请求。
这将是非常罕见的,而且通常您的服务器将与其接触的唯一DNS服务器是其最接近的DNS服务器,但不能完全排除。
https://stackoverflow.com/questions/52536442
复制相似问题