当我使用 dns_get_record 来存放像google.com这样的域名时,一切正常,但如果我在不存在的域名上使用它,该功能会获得来自我们域名的子域名的信息,例如test.example.com,我该如何阻止?
// Test with working domain
var_dump( dns_get_record('google.com', DNS_A) );
/* works, returns
Array
(
[host] => google.com
[class] => IN
[ttl] => 299
[type] => A
[ip] => 172.217.12.142
)
*/
// Test with invalid domain on our website (example.com)
var_dump( dns_get_record('invalidtestingname.com', DNS_A) );
/* Doesn't work, pretend it's a subdomain
Array
(
[host] => invalidtestingname.com.example.com
[class] => IN
[ttl] => 299
[type] => A
[ip] => xxx.xxx.xxx.xxx
)
*/
答案 0 :(得分:2)
如果有人遇到此问题,请在域名末尾添加“点”,而不是
dns_get_record('invalidtestingname.com', DNS_A);
这样做:
dns_get_record('invalidtestingname.com.', DNS_A);
然后PHP不会尝试检查您自己域的子域,它将正确搜索。不知道之前怎么没有人遇到过这个问题,在php.net上甚至没有任何关于这个的评论