2013-08-29 3 views
0

Как проверить, настроено ли доменное имя (например, fqdn.example) на сервере с ip xx.xx.xx.xx?проверить конфигурацию домена на сервере в php

Я должен проверить, что домен fqdn.example правильно настроен на сервере с данным IP.

В php Я знаю функцию dns_get_record, но она позволяет мне проверять только текущую зону DNS, а не видеть, зарегистрирован ли домен еще не настроен на сервере, на котором он должен находиться.

NB. По соображениям безопасности я не хочу запускать команды оболочки из php.

ответ

1

Это может быть достигнуто с gethostbynamel(), если DNS настроен:

<?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 request формы

GET/HTTP/1.1 
host: fqdn.example 
Connection: Close 

к порту 80 на этот IP-адрес. Если вы не получили сообщение об ошибке, веб-сервер правильно настроен для этого полного доменного имени.

Update:

Чтобы запросить сервер пользовательских DNS в соответствии с вашим комментарием, используйте Net_DNS.

+0

Это нормально, но это работает только в том случае, если домен зарегистрирован. Я хочу запросить сервер с ip XXXXX и посмотреть конфигурацию домена DNS example.com (если он существует на этом сервере) – Duccio

+0

Обновленный ответ! – jman

Смежные вопросы