如何检查域名(例如fqdn.example
)是否在具有 ip 的服务器中配置xx.xx.xx.xx
?
我必须检查该域fqdn.example
是否在具有给定 IP 的服务器上正确配置。
在 php 中,我知道该dns_get_record
功能,但它只允许我检查当前的 DNS 区域,而不是查看域是否尚未注册,但是否已在它所在的服务器上配置。
注意。出于安全原因,我不想从 php 执行 shell 命令。
如果配置了 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。