Vediamo adesso come ricavare il proprio indirizzo ip. Insomma l’indirizzo con il quale vi siete collegati al world wide web. Ma lo facciamo in un modo differente. Ossia in questo articolo vi spiegheremo come farlo con lo script PHP. Ossia come ricavare il vostro indirizzo ip tramite il linguaggio di programmazione PHP.
Ovviamente dovrete avere un Server che faccia girare il linguaggio di programmazione PHP. Quindi o un tool come Easy PHP , Xamp o altro, oppure direttamente hostato un sito web che ha il linguaggio PHP. Ovviamente se il vostro sito è nel web dovrete trasferire lo script tramite ftp o dalla bacheca del file manager. Ogni casa di hosting offre fra le sue opzioni un file manager. Talune volte chiamato in maniera differente ma questo è.
La funzione $_SERVER PHP per ricavare il proprio indirizzo IP
Fatto questo entriamo nello specifico di ricavare il vostro indirizzo IP tramite script PHP. Per fare questo ci avvarremo ci avvarremo della funzione SERVER. Infatti se andate nel web per trovare il vostro indirizzo IP generalmente vi viene data la seguente stringa
$ip=$_SERVER['REMOTE_ADDR'];
Ma questa funziona sempre? Restituisce sempre il vostro indirizzo IP. Vi fornisco una risposta a metà. Quasi sempre. A meno che non stiate utilizzando un proxy o non ci siano altri problemi si. Ma se stiamo utilizzando un proxy, beh allora dovremo fare un altro upgrade e utilizzare questo script
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; }
Ma andiamo oltre. Ora che sappiamo ricavare il vostro indirizzo IP con il PHP , vediamo di ricavarlo quello del vostro sito Web. Ovviamente tutti i siti web hanno un proprio indirizzo IP che è dove sono ospitati. Ma supponiamo di avere un sito che si chiama example.com, come sapere il suo ip?
Come ricavare un indirizzo IP di sito WEB
Ricorriamo sempre alle funzioni standard predefinite dal linguaggio PHP che è la funzione gethostbyname(stringa) che va implementata nel seguente modo.
$ip=gethostbyname("www.example.com");
Quindi questa funzione gethostbyname passato il nome della stringa vi restituisce il suo indirizzo ip. Alcuni di voi mi hanno domandato , ma come mai il valore di ip che ottengo non è sempre lo stesso? La funzione non funziona? Levando il gioco di parole, la risposta è no. La funzione funziona perfettamente. Il fatto dipende che probabilmente avete un sito web su una soluzione hosting . Questo implica che la pagina caricata nel vostro browser non sempre viene fornita dal solito web server. Quindi differente web server differente ip. Tutto torna. Per sapere su quante macchine è ospitato il tuo sito, non basta più la funzione indicata sopra, ma si deve fare un fetch degli indirizzi in questa maniera
echo " Lista di indirizzi IP associati a $hostname: \n\n"; $ip_addrs = gethostbynamel($hostname); if(!$ip_addrs) { echo "Impossibile risolvere il nome del dominio $hostname \n"; } else { foreach($ip_addrs as $ip) { echo "Indirizzo IP: $ip \n"; } }
Numero Siti Web ospitati in una macchina per ogni indirizzo IP
Mentre se si volesse sapere quanti siti web sono ospitati in ogni web server. Ossia dall’indirizzo IP risalire ai siti bisogna fare un’operazione che si chiama Reverse Look Up che è un attimo più complessa e vi spiegherò prossimamente.