0

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

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

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

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

4

1 回答 1

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 请求

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

到该 IP 地址上的端口 80。如果您没有收到错误,则表示已为该 FQDN 正确配置了 Web 服务器。

更新:

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

于 2013-08-29T21:41:20.747 回答