请问如何用php检查dns txt记录?
请问如何用php检查dns txt记录?I create a function to compare a txt record...
but only in my home this not work... At my job this work...
Any tip?
Obs:
The TXT record is created 48 hours left
I Already clear/flush my dns cache!
_checkTxtRecord("iocheck","yizuotu.net","123456");
function _checkTxtRecord($txt_recort,$domain,$compare)
{
if(checkdnsrr("$txt_recort.$domain","TXT"))
{
$result = dns_get_record("$txt_recort.$domain",DNS_TXT);
if(isset($result[0]["txt"]) && $result[0]["txt"]==$compare)
{
return true;
}
}
return false;
}
PHP dns_get_record() 函数
实例
获取与"www.zzzyk.com"关联的MX资源记录:
<?php
print_r(dns_get_record("www.zzzyk.com", DNS_MX));
?>
定义和用法
dns_get_record() 函数获取与指定主机名关联的 DNS 资源记录。
语法
dns_get_record(hostname, type, authns, addtl, raw)
参数值
参数 描述
hostname 必需。指定主机名(如"www.w3ccoo.com")
type 可选。指定要搜索的资源记录类型。 可以是以下之一:
DNS_A
DNS_CNAME
DNS_HINFO
DNS_CAA
DNS_MX
DNS_NS
DNS_PTR
DNS_SOA
DNS_TXT
DNS_AAAA
DNS_SRV
DNS_NAPTR
DNS_A6
DNS_ALL
DNS_ANY (默认)
authns 可选。通过引用传递,如果设置,它将填充权威名称服务器的资源记录
addtl 可选。 通过引用传递,如果设置,它将填充任何附加记录
raw 可选。一个布尔值。 如果设置为 TRUE,它只查询请求的类型,而不是在获取信息之前逐个类型地循环。 默认为假
技术细节
返回值:
关联数组的数组,失败时为 FALSE。 每个数组都包含以下键(至少):
host - 主机名
class - 总是返回 IN(因为这个函数只返回 Internet 类记录)
type - 记录类型
ttl - 生存时间 "Time To Live" 这条记录的剩余时间(原始 ttl 减去自查询服务器以来经过的时间长度)
数组中的其他键取决于 type 参数。
PHP 版本: 5.0+
PHP 更新日志: PHP 7.0.16: 添加了对 DNS_CAA type 的支持。
PHP 5.4:添加了 raw 参数。
PHP 5.3:在 Windows 平台上可用。
本文实例讲述了PHP函数checkdnsrr用法。分享给大家供大家参考,具体如下:
在php.net上是这样说的:
(PHP 4, PHP 5)
checkdnsrr — Check DNS records corresponding to a given Internet host name or IP address
译文: checkdnsrr -- 根据一个给定的host name(域名)或者IP地址检查它是否有DNS记录,其实也就是检验它是否存在。
Note: This function is now available on Windows platforms.
注意:该函数在windows平台不支持
我试了一下,果然,提示没有这个函数。
下面是一个hack的方法,这样,我们在windows上做开发时,也能看到效果了!
接下来我来介绍一下参数:
bool checkdnsrr ( string $host [, string $type = "MX" ] )
第一个参数我们就不说了,就是域名或者ip
第二个参数是解析类型,分别有:
A (Address) 记录 是指定主机名(或域名)对应的IP地址记录。
MX 记录 是指定邮件交换记录(默认)
NS 记录 是指定域名服务器的记录,指定该域名由哪个DNS来进行解析。
SOA记录 一般在辅助的dns服务器里才用到,用来指定谁是主服务器。
PTR记录 从ip指向域名的反向解析记录
CNAME记录 别名记录
AAAA记录 是一个指向IPv6的记录
A6记录 同上
SRV记录 它是DNS服务器的数据库中支持的一种资源记录的类型,一般是为Microsoft的活动目录设置时的应用。
TXT记录 文本信息
ANY记录 任何记录,所有数据类型
这个函数常被我们用于检测email是否真实存在!