Рейтинг:0

Как идентифицировать регистрируемые/зарегистрированные домены (с whois) и домены без whois (субдомены)

флаг cn

У меня есть проблема. Я пытаюсь проверить, является ли данная строка допустимым «зарегистрированным» или «регистрируемым» доменным именем.

В идеале я хочу посмотреть, может ли данная строка иметь действительного «регистратора» или нет.Я уже проверяю формат строки с помощью регулярного выражения и возвращаю true для:

  1. что-то.com
  2. что-то.com.au
  3. домены.google
  4. что-то.что-то.com

Я хочу иметь возможность отличать «регистрируемый» или «зарегистрированный» домен от незарегистрированного или незарегистрированного домена. И я хочу сделать это без проверки whois.

Мое приложение должно принимать как имена доменов, так и имена поддоменов. Так что мое регулярное выражение отлично подходит для этой цели. Но мне нужно указать в своей базе данных, является ли введенное значение субдоменом или доменом, для которого я могу найти whois.

Весь смысл в том, чтобы избежать обращения к серверам whois для получения информации, если предоставленная строка не является «зарегистрированным» или «регистрируемым» доменом.

Я провел много исследований и поиграл https://publicsuffix.org/list/public_suffix_list.dat но это не решение. Это связано с тем, что, например, «wixsite.com» является допустимым общедоступным суфиксом, но «something.wixsite.com» не может иметь whois.

mforsetti avatar
флаг tz
почему бы не использовать для этого [любую готовую библиотеку](https://libraries.io/search?q=public+suffix)?
флаг in
Похоже, что вы ищете что-то, что проверяет действительные DNS-имена?
флаг cn
Спасибо, @mforsetti, за указание в правильном направлении. Я использую https://libraries.io/packagist/utopia-php%2Fdomains.
флаг cn
@NiKiZe да, я.
Michael Hampton avatar
флаг cz
Похоже, вам нужны домены, которые появляются в whois, а не регистрируемые/зарегистрированные домены (которые, как вы обнаружили, не всегда имеют записи whois).
Patrick Mevzek avatar
флаг cn
Обычно только к TLD подключены серверы whois (как реестров, так и регистраторов). Вероятно, есть исключения, но это были бы редкие крайние случаи, которые не стоит принимать во внимание, как я утверждаю. Все сводится к следующему: «Весь смысл в том, чтобы не обращаться к серверам whois для получения информации»: какую информацию вы пытаетесь извлечь из выходных данных whois (и есть также TLD без порта 43 whois)? Кроме того, обратите внимание на RDAP, гораздо лучший выбор в настоящее время, даже если, к сожалению, он уже недостаточно распространен.
Patrick Mevzek avatar
флаг cn
«В идеале я хочу посмотреть, может ли данная строка иметь действительного «регистратора» или нет». Почему? Даже на уровне TLD не все TLD имеют модель реестра/регистратора (и даже те, у которых есть исключения и домены, зарегистрированные непосредственно в реестре, минуя какого-либо регистратора, см. «de» для одного примера). Домен зарегистрирован или нет, не является синонимом того, что у него есть регистратор.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.