gethostbyaddr în PHP

Rețea PHP 4+

Află numele de domeniu asociat unei adrese IP (interogare DNS inversă).

Sintaxă
gethostbyaddr(string $ip): string|false

Ce face gethostbyaddr

gethostbyaddr face operația inversă lui gethostbyname: pornește de la un IP și cere DNS-ului numele asociat (înregistrarea PTR). Merge cu IPv4 și IPv6.

Dacă IP-ul nu are nume, returnează chiar IP-ul primit. Pentru un text care nu este IP valid returnează false, cu avertisment.

Parametri

Parametru Descriere
$ip Adresa IP, de exemplu "8.8.8.8".

Ce returnează

Numele găsit, IP-ul neschimbat dacă nu există nume, sau false pentru o adresă invalidă.

Exemple

Exemplul 1: Adresa locală

<?php
echo gethostbyaddr("127.0.0.1");

Rezultat

localhost

Exemplul 2: Numele unui server public

<?php
echo gethostbyaddr("8.8.8.8") . "\n";
echo gethostbyaddr("192.0.2.45");

Rezultat posibil (depinde de DNS)

dns.google
192.0.2.45

Greșeli frecvente

  • Apelezi funcția pentru fiecare vizitator, ca să afișezi numele. O interogare DNS inversă poate dura câteva secunde. Fă-o în fundal sau doar în rapoarte.
  • Te bazezi pe numele primit ca dovadă de identitate. Oricine controlează IP-ul poate pune orice nume PTR. Verifică și invers, cu gethostbyname pe numele găsit.

Comenzi înrudite

  • gethostbyname: Află adresa IPv4 a unui domeniu, de exemplu adresa IP din spatele unui site.
  • gethostbynamel: Returnează toate adresele IPv4 ale unui domeniu, ca tablou.
  • dns_get_record: Citește înregistrările DNS ale unui domeniu: A, AAAA, MX, TXT, NS, CNAME și altele.