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
gethostbynamepe 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.