PHP  »  Articoli  »  Programmazione Php 

Networking in PHP: gestire DNS e nomi di domino

di: Claudio Garau     20 Novembre 2008

Con il termine DNS (Domain Name System) si indica un servizio che viene impiegato per la risoluzione di nomi di Host nei corrispondenti indirizzi IP o viceversa. Il nome di dominio "www.google.it" è ad esempio associato all'indirizzo IP "74.125.43.99" e la conversione del nome di dominio nel relativo IP è possibile grazie all'utilizzo di un server DNS.

PHP mette a disposizione alcuni validi strumenti per lavorare con i DNS e in particolare per il reperimento di informazioni, in questa breve trattazione verranno analizzate alcune funzioni che potranno essere integrate in applicazioni che richiedono servizi per la risoluzione di nomi di Host o indirizzi IP, come nel caso di script per cui sono previste connessioni tramite API socket.

Funzioni per la risoluzione dei nomi di Host

gethostbyname() è una delle funzioni più semplici da utilizzare tra quelle messe a disposizione da PHP per la risoluzione dei nomi di Host; essa accetta l'Hostname di una postazione come unico argomento e restituisce in output il corrispondente indirizzo IP.

Di seguito viene mostrato un semplice esempio per l'utilizzo di questa funzione:

<?php 
# nome dell'Host da risolvere
$nome_di_host = "www.html.it";
# traduzione del nome dell'Host in indirizzo IP 
$indirizzo_ip = gethostbyname($nome_di_host);
# output dell'Hostname risolto
echo "L'indirizzo IP di \"$nome_di_host\" è \"$indirizzo_ip\"."; 
?>

La semplice applicazione proposta visualizza l'indirizzo IP corrispondente al nome di Host fornito come argomento alla funzione gethostbyname() sotto forma di una stringa numerica suddivisa da punti fermi.

Una funzione molto simile a quella appena descritta è gethostbynamel(), in questo caso però il suo utilizzo permette di ottenere un elenco completo di tutti gli indirizzi IP associati ad un determinato nome di Host; è il caso per esempio di server che supportano indirizzi IP virtuali multipli.

Chi utilizza il prompt di MS-Dos o la shell di Linux per effettuare interrogazioni verso i DNS si sarà sicuramente accorto che la funzione gethostbyname() svolge un compito per certi versi simile alle istruzioni da linea di comando basate su ping, pingareun nome di dominio vuol dire infatti anche cercare informazioni sul corrispondente indirizzo IP.

gethostbynamel(), come gethostbyname(), accetta come parametro un unico argomento che anche in questo caso è l'Hostname che si desidera risolvere, stavolta però gli indirizzi IP restituiti dall'esecuzione potrebbero essere più di uno e la funzione dovrà restituire in output un array destinato a contenerli come valori. Vediamo qualche esempio.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti