Home>Guide>Come geolocalizzare un IP con PHP

Come geolocalizzare un IP con PHP



In alcune circostanze, potrebbe essere utile sapere da quale luogo provengono i visitatori del tuo sito web. Per fini puramente statistici, può essere sufficiente analizzare i dati forniti da strumenti di analisi, come ad esempio Google Analytics, ma in alcuni casi più specifici potrebbe non bastare.
Un esempio pratico, potrebbe essere la necessità di bloccare il traffico proveniente da una determinata nazione o continente, per ragioni di sicurezza. Ma come è possibile farlo? Semplicemente attraverso l’indirizzo IP dell’utente, puoi ottenere numerose informazioni sulla sua geolocalizzazione e di conseguenza sulla sua provenienza. Curioso? Bene, passiamo alla pratica allora.

  • Leggi l'articolo, ti bastano solo 1 minuto, 26 secondi
    Sei di fretta? Scarica il PDF e consultalo quando vuoi!

GeoIP2 PHP API

Per raggiungere lo scopo, utilizzeremo un servizio di API PHP fornito da terze parti: GeoIP2 PHP API, basato sui database GeoLite2, ovvero database di geolocalizzazione IP gratuiti e aggiornati settimanalmente.
Per maggiori informazioni sulle API, dai un’occhiata a:


Mentre per saperne di più sui database utilizzati, dai un’occhiata a:


Ma come utilizzare le API?


Utilizzare le GeoIP2 PHP API

L’utilizzo è piuttosto semplice: andando infatti al link:

http://www.geoplugin.net/json.gp

puoi vedere un saggio del funzionamento della geolocalizzazione degli IP. Nello specifico, riceverai informazioni relative al tuo attuale IP pubblico, tra cui:

  • Città
  • Nazione
  • Continente
  • Coordinate (latitudine e longitudine)

e così via… Ovviamente, la precisione è indicativa e non va presa come esatta al 100%!

Ma allo stesso indirizzo è possibile ricevere informazioni relative ad uno specifico indirizzo IP, semplicemente specificandolo nella URL:

http://www.geoplugin.net/json.gp?ip=216.58.205.142

ed ecco un esempio della risposta JSON ricevuta:

{
    "geoplugin_request":"216.58.205.142",
    "geoplugin_status":200,
    "geoplugin_delay":"1ms",
    "geoplugin_city":"Mountain View",
    "geoplugin_region":"California",
    "geoplugin_regionCode":"CA",
    "geoplugin_regionName":"California",
    "geoplugin_areaCode":"",
    "geoplugin_dmaCode":"807",
    "geoplugin_countryCode":"US",
    "geoplugin_countryName":"United States",
    "geoplugin_inEU":0,
    "geoplugin_euVATrate":false,
    "geoplugin_continentCode":"NA",
    "geoplugin_continentName":"North America",
    "geoplugin_latitude":"37.4056",
    "geoplugin_longitude":"-122.0775",
    "geoplugin_locationAccuracyRadius":"1000",
    "geoplugin_timezone":"America\/Los_Angeles",
    "geoplugin_currencyCode":"USD",
    "geoplugin_currencySymbol":"$",
    "geoplugin_currencySymbol_UTF8":"$",
    "geoplugin_currencyConverter":1
}

Comodo no? Ma non finisce qui!


Una classe PHP pronta all'uso

I precedenti riferimenti, danno tutte le informazioni necessarie per utilizzare al meglio le API di geolocalizzazione degli indirizzi IP, ma lo scopo di questa guida non è solo informativa, ma anche semplificare nel miglior modo possibile il tuo lavoro, fornendoti un esempio pratico di utilizzo ed una base di partenza completa e funzionante da cui prendere spunto.

Allo scopo, Code4Life ha sviluppato una classe PHP in grado di utilizzare ed elaborare i dati di geolocalizzazione degli IP, pronta ad essere utilizzata nei tuoi progetti. Come potresti volere di più?


Per utilizzarla, è sufficiente includere la classe nel tuo progetto e richiamarla come descritto nella documentazione.
Cosa aspetti? Inizia ad utilizzare la geolocalizzazione tramite IP per riuscire a proteggere al meglio il tuo sito web!



Ti è piaciuto questo articolo? Regalami un click per ripagarmi dello sforzo



Code4Life ti è stato utile? Sostienici con una donazione!

Dona con PayPal

Hai trovato interessante l’articolo? Allora ti consiglio di leggere:

Come modificare le tab prodotto di WooCommerce


Vuoi eliminare, riordinare, rinominare o inserire nuove tab nelle pagine prodotto di WooCommerce per personalizzare la visualizzazione delle informazioni?

Oppure cerca tra gli articoli correlati


E tu cosa ne pensi? Condividi la tua opinione e discutiamone insieme
La tua email non sarà resa pubblico o utilizzata per inviarti spam, te lo prometto

Iscrivimi alla newsletter per ricevere news ed aggiornamenti
Utilizziamo piattaforme di terze parti per l’invio di newsletter. (Informativa sulla privacy)
Tienimi aggiornato su questo articolo
Ricevi una email di notifica quando qualcuno scriverà un commento a questo articolo. (Informativa sulla privacy)
Ricorda i miei dati per la prossima volta che scriverò un commento
Il tuo nome e la tua email verranno salvati in un cookie in questo browser. (Informativa sulla privacy)