说明
在有些场景下做PHP开发时,需要获取到域名的
dns
解析记录,如通过CNAME
解析记录实现自定义域名,通过TXT
解析记录实现域名鉴权,确认是域名所有者在操作。在PHP中,已经提供了dns_get_record
函数来获取dns
的解析记录情况函数
官方文档中,对该函数做了详细的说明,这里主要说明一下type
参数
从上图中看出,可以指定获取dns
的记录类型,下面做简单的测试测试
获取
www.sunyonghong.cn
的CNAME
解析值的PHP代码如下:$result = dns_get_record('www.sunyonghong.cn',DNS_CNAME); print_r($result);
执行后得到如下结果:
Array ( [0] => Array ( [host] => www.sunyonghong.cn [class] => IN [ttl] => 60 [type] => CNAME [target] => www.sunyonghong.com ) )
可以看到返回的数据中,存在
type
和target
字段,分别对应的是解析类型
和记录值
,这里表示将www.sunyonghong.cn
使用cname
解析到了www.sunyonghong.com
。获取
txt
解析记录值
之前在 nginx配置https 时,申请了免费证书,做了一个txt
解析,这里可以通过PHP获取查看记录值,PHP代码如下$result = dns_get_record('_dnsauth.sunyonghong.com',DNS_TXT); print_r($result);
执行后得到如下结果:
Array ( [0] => Array ( [host] => _dnsauth.sunyonghong.com [class] => IN [ttl] => 60 [type] => TXT [txt] => 2021011300000056uczf4bzxp9icirm19kkhbk8i3jp4ugyami6m7fiueuk393sv [entries] => Array ( [0] => 2021011300000056uczf4bzxp9icirm19kkhbk8i3jp4ugyami6m7fiueuk393sv ) ) )
可以看到返回数据中,将
txt
解析记录值返回了,可以利用此方式,来验证域名所有者是否合法。
此函数还可以获得更多的dns
数据,可以自行进行测试。
文章来源:
鸿辰
版权声明:本网站可能会转载或引用其他来源的文章、图片、数据等信息。对于这些转载内容,版权归原作者所有。本站尊重原作者的劳动成果,并在可能的情况下注明来源和作者。如有任何版权问题,请及时联系,收到后将第一时间处理。