【问题标题】:Does gethostbyaddr reveals my server's IP address?gethostbyaddr 是否会显示我的服务器的 IP 地址?
【发布时间】:2019-03-03 08:04:22
【问题描述】:

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

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

用户能通过这个找到我服务器的IP地址吗?

【问题讨论】:

    标签: php gethostbyaddr


    【解决方案1】:

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

    通常 PHP 会要求系统的 DNS 服务进行反向查找,如果答案没有被缓存,该服务将联系其最近的 DNS 服务器以获取答案。如果那个没有答案,它会出去联系它的最近的上游服务器等,直到答案回来。

    因此,服务器的访问范围很少超过其最近的 DNS 服务器。这当然不是不可能的,如果您的服务器碰巧联系了您的用户碰巧可以控制的 DNS 服务器,该用户可以看到传入的 DNS 解析请求。

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

    【讨论】:

    • 谢谢,你解释的很好。将在 6 分钟内接受。
    猜你喜欢
    • 2011-05-24
    • 2020-12-01
    • 2013-04-24
    • 1970-01-01
    • 2022-01-20
    • 2019-10-17
    • 2016-10-24
    • 1970-01-01
    • 2017-06-01
    相关资源
    最近更新 更多