PHP - проверить IP-адрес NS / DNS-сервера с помощью dns_get_record () - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь проверить IP-адрес сервера NS / DNS, предоставленный пользователем, с помощью dns_get_record ().Код:

$site = 'google.com';
$ns = array('104.28.4.30'); // Some Ip Address not NS / DNS
echo '<pre>';
$result = dns_get_record($site, DNS_A, $ns);
print_r($result);
print_r($ns);

Вывод:

Array
(
[0] => Array
    (
        [host] => google.com
        [class] => IN
        [ttl] => 299
        [type] => A
        [ip] => 74.125.200.113
    )

...

[5] => Array
    (
        [host] => google.com
        [class] => IN
        [ttl] => 299
        [type] => A
        [ip] => 74.125.200.101
    )
)
Array
(
)

Поскольку я предоставил некоторый случайный Ip, но dns_get_record (), похоже, каким-то образом выбирает записи независимо от того, предоставлен ли Ip NS / DNS или нет.PS.Я знаю о классе NET_DNS2, но подумал, есть ли обходной путь в нативном PHP.

1 Ответ

0 голосов
/ 22 ноября 2018

Третий аргумент dns_get_record() является выходным параметром, начальное значение игнорируется.Он заполняется функцией с доверенными серверами для домена.

Однако DNS-серверы не всегда возвращают список доверенных серверов в своих ответах, это настраиваемый параметр в большинстве серверов имен (включая * 1004).*, самый распространенный сервер имен).Если сервер не возвращает ничего в разделе авторизации ответа, массив будет пустым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...