Ip-to-country: sapere la nazionalità dall'ip

di Andrea Zani, in Software,

Può essere utile sapere le nazionalità degli utenti che si collegano al nostro sito per statistiche o per semplice curiosità. La cosa è tutt'altro che complicata. E' sufficiente scaricare da un qualsiasi sito che mette a disposizione la lista degli IP per nazionalità per sapere, con poche righe di codice, da dove vengono gli utenti che visitano il nostro sito.

Innanzitutto è necessario, come già detto, scaricare la lista. Un link dove poter trovare la lista è questo. Nello zip è presente un file .csv. Consiglio di importarlo in un database, in modo da avere questa struttura di dati:

Se si esamina il contenuto si vedrà che i primi due campi sono dei valori numerici:

Il campo "da" contiene l'ip di partenza del range, il campo "a" l'ip finale del range per quella nazione. Per trasformare l'ip in un numero intero è sufficiente un calcolo molto semplice. Dato l'ip "195.210.46.10", per trasformalo in intero ci basta conoscere un minimo di esadecimale o binario:

195*16777216+210*65536+46*256+10 = 3285331466

Avuto l'intero dall'ip, possiamo eseguire la query per sapere la nazionalità dell'utente:

declare @ipx bigint
set @ipx=3285331466
select * from [ip-to-country]
where @ipx>=da
and @ipx<=a

In questo caso avremo:

Forse sarebbe utile uno script completo?

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese