【问题标题】:check domain configuration in a server in php在 php 中检查服务器中的域配置
【发布时间】:2013-08-29 20:38:45
【问题描述】:

如何检查域名(例如fqdn.example)是否在ip为xx.xx.xx.xx的服务器中配置?

我必须检查域 fqdn.example 是否在具有给定 IP 的服务器上正确配置。

在 php 中,我知道 dns_get_record 函数,但它只允许我检查当前的 DNS 区域,而不是查看域是否尚未注册,但是否已在它所在的服务器上配置。

注意。出于安全原因,我不想从 php 执行 shell 命令。

【问题讨论】:

    标签: php dns


    【解决方案1】:

    如果配置了 DNS,则可以使用 gethostbynamel() 完成此操作:

    <?php
    $hostname = "fqdn.example";
    $key = "198.51.100.100";
    $ips = gethostbynamel($hostname);
    if (array_search ($key, $ips) != FALSE) {
        echo ("$hostname configured at $key");
    }
    else {
        echo ("$hostname not configured at $key");
    }
    ?>
    

    如果域未在 DNS 中配置,但您想查看您的网络服务器是否已配置,您可以尝试发送HTTP request 的形式

    GET / HTTP/1.1
    host: fqdn.example
    Connection: Close
    

    到该 IP 地址的 80 端口。如果您没有收到错误消息,则该网络服务器已针对该 FQDN 正确配置。

    更新:

    要根据您的评论查询自定义 DNS 服务器,请使用 Net_DNS

    【讨论】:

    • 这没关系,但这仅在域已注册时才有效。我想用ip XXXXX查询服务器,查看DNS域example.com的配置(如果该服务器上存在的话)
    猜你喜欢
    • 2014-09-06
    • 2016-12-19
    • 2022-01-15
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    相关资源
    最近更新 更多