Я хочу использовать PHP, чтобы проверить, разрешается ли указанное имя хоста на сервере, на котором выполняется скрипт PHP. Под именем хоста я подразумеваю то же самое, что и имя домена в моем конкретном контексте.
Например, скажем, у меня есть сервер и его общедоступный IP-адрес — 123.123.123.123 или что-то подобное. Мой DNS-сервер разрешает два домена по этому IP-адресу: domain1.com и domain2.com. Я обращаюсь к странице PHP на сервере с помощью domain1.com, но я хочу, чтобы скрипт сообщал мне, разрешает ли domain2.com разрешение на сервер, и возвращает соответствующий результат, например, выдает «да» или «нет».
Я не уверен, как подойти к этому. Я думаю о двух возможностях:
Попробуйте что-то похожее на «пинг» имени хоста и посмотрите, есть ли ответ, хотя я не думаю, что это сработает, потому что он локальный или локальный и может потребовать, чтобы имя хоста было разрешено в файле хостов сервера, что побеждает точку этого (я хочу увидеть, разрешает ли имя хоста для других клиентов в Интернете, а не на локальной машине), или
проверьте DNS-сервер имени хоста, чтобы увидеть, разрешает ли он общедоступный IP-адрес сервера, и в этом случае мне нужно каким-то образом получить публичный IP-адрес в PHP.
Как бы я подошел к этому?
Пример сценария PHP:
function host_resolves($host){
// get server public IP
// check if hostname is a valid domain name
// try to connect to the hostname's DNS server
// query the DNS server and compare IP (maybe in A record?) to public IP
// split off a sub-domain and check for a CNAME if needed
}
if(host_resolves('domain2.com')){
echo 'yep!';
}
else{
echo 'nup :(';
}
Задача ещё не решена.
Других решений пока нет …