• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Ottenere il Paese dall'indirizzo IP

ptm

Utente Master
Autore del topic
13 Maggio 2008
2.716
62
Miglior risposta
0
Introduzione

La geolocalizzazione di un visitatore è importante per molti progetti; per esempio conoscere lo Stato di appartenenza di coloro che accedono ad un sito può permettere di offrire contenuti diversi oppure impostare la lingua adeguata. O ancora per implementare meccanismi di sicurezza: per esempio capita che, quando si è all'estero, Gmail chieda di effettuare nuovamente il login per evitare accessi non autorizzati. In questa breve guida vedremo come ottenere il Paese del visitatore partendo dal suo IP.

Requisiti: PHP 5.4


Installazione ed utilizzo

Utilizzeremo la classe ip2location disponibile per il download qui ->
Perfavore, Entra oppure Registrati per vedere i Link!

Scaricare il file .zip, estrarlo e caricarlo sul proprio server (ovviamente ad esclusione del CHANGELOG, README e pdf presenti nello zip). I database completi che associano ip al luogo geografico sono a pagamento, ma nello zip è già presente una versione gratuita che funziona abbastanza bene. Altri database che danno altre informazioni oltre allo stato di appartenenza sono disponibili per il download alla pagina ufficiale linkata precedentemente.
A questo punto è possibile eseguire il file example.php per verificare il corretto funzionamento della classe. Se fin qui è andato tutto bene, vediamo ora come ottenere l'ip del visitatore e capire da che Paese proviene.
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

N.B. 1: l'if per ottenere l'indirizzo IP è presente perchè siti con CloudFlare attivo impostano variabili $_SERVER extra (ed in particolare $_SERVER['HTTP_CF_CONNECTING_IP'] è la variabile che rappresenta l'ip del visitatore)
N.B. 2: come intuibile, l'utilizzo di proxy/VPN stranieri impedisce di conoscere la reale origine del visitatore.
 
  • Like
Reactions: 4 people
Ottima guida, vorrei aggiungere una cosa, utilizzando cloudflare si hanno a disposizione (come hai detto) delle variabili extra, tra cui la variabile $_SERVER["HTTP_CF_IPCOUNTRY"] che restituisce la nazione del visitatore.
Dunque utilizzando cloudflare si può fare a meno di questa classe :P
 
Ottima guida, vorrei aggiungere una cosa, utilizzando cloudflare si hanno a disposizione (come hai detto) delle variabili extra, tra cui la variabile $_SERVER["HTTP_CF_IPCOUNTRY"] che restituisce la nazione del visitatore.
Dunque utilizzando cloudflare si può fare a meno di questa classe :P

Si, è vero se nello specifico vuoi ottenere solo la nazione. Anche se l'ho solo accennato, si possono scaricare altri database che contengono ulteriori informazioni (latitudine, lungitudine, nome del ISP ecc..).
Quindi se si usa cloudflare effettivamente risulta meno dispendioso usare la variabile extra che hai indicato a patto che serva conoscere solo la nazione :emoji_slight_smile:
 
  • Like
Reactions: 1 person