Durante lo sviluppo di Codewith.it, il mio editor di codice HTML online, ho avuto la necessità di geolocalizzare i visitatori del sito (geolocalizzazione del client) utilizzando il linguaggio PHP e di consentire al server di cambiare la lingua da italiano a inglese nel caso in cui gli utenti si trovassero al di fuori dell’Italia.
Dopo numerosi tentativi, ho scoperto che la soluzione migliore era affidarsi a Cloudflare e al loro sistema di geolocalizzazione. Cloudflare fornisce agli sviluppatori informazioni specifiche sul client, come l’indirizzo IP o il paese di provenienza, che possono essere facilmente utilizzate nelle applicazioni scritte in PHP.
In questo articolo, voglio spiegare come utilizzare le informazioni fornite da Cloudflare e integrarle sul proprio sito attraverso semplici istruzioni PHP, fornendo anche un esempio pratico.
Usare la geolocalizzazione Cloudflare con PHP
I dati sulla geolocalizzazione forniti da Cloudflare rappresentano un eccellente e affidabile strumento per gli sviluppatori di siti web. Consentono di ottenere dati di vario tipo richiamando semplicemente le variabili già presenti nel server, evitando la necessità di integrare ulteriori strumenti.
Prima di tutto, è importante sottolineare che, per poter utilizzare i servizi e i dati di geolocalizzazione sul client offerti da Cloudflare, è necessario registrare il proprio sito sulla piattaforma.
Cos’è Cloudflare
Cloudflare è una piattaforma di servizi per la sicurezza e le prestazioni web. Funziona come un intermediario tra il sito web e i suoi visitatori, fornendo una serie di funzionalità molto utili come la protezione dai malware, la caching e la gestione degli attacchi DDoS.
Personalmente utilizzo Cloudflare per ogni mio sito web, perché mi consente di gestire il traffico e li rende più sicuri dagli attacchi informatici (anche di bruteforce), in più è gratis da usare!
Nel nostro caso Cloudflare offre anche servizi di geolocalizzazione che consentono agli sviluppatori di ottenere informazioni sulla posizione geografica dei visitatori del sito.
Se non l’hai già fatto, ti consiglio di seguire questa guida per configurare gratis Cloudflare per il proprio sito.
Istruzioni di Geolocalizzazione PHP
Per scoprire la nazione di provenienza del client con codice PHP e parametri server Cloudflare, basta utilizzare la seguente istruzione che si basa sul valore della variabile $_SERVER["HTTP_CF_IPCOUNTRY"]
. Questa istruzione consente di ottenere il codice del paese di provenienza dell’utente, ad esempio per l’Italia è “IT
“.
La sua integrazione è molto semplice, e nel caso tu avessi già dimestichezza con del codice PHP, avrai sicuramente già capito come fare.
Qui un esempio di utilizzo:
if(isset($_SERVER["HTTP_CF_IPCOUNTRY"]))
{
if($_SERVER["HTTP_CF_IPCOUNTRY"] == "IT")
{
// Proviene dall'Italia
echo "Italiano";
}
else
{
// Proviene da fuori Italia
echo "Straniero";
}
}
else
{
// cloudflare non configurato
echo "No cloudflare su questo sito";
}
Nel codice sopra riportato, la condizione $_SERVER["HTTP_CF_IPCOUNTRY"] == "IT"
verifica se il valore della variabile HTTP_CF_IPCOUNTRY
è “IT“, che indica che il visitatore proviene dall’Italia.
Se la condizione è vera, viene eseguito il blocco di codice all’interno dell’istruzione if
, che può contenere le azioni da intraprendere per gli utenti italiani.
D’altra parte, se il valore della variabile HTTP_CF_IPCOUNTRY
non è “IT” (cioè, il visitatore proviene da un paese diverso dall’Italia), il blocco di codice all’interno dell’istruzione else
viene eseguito. Questo parte può contenere le azioni da intraprendere per i visitatori provenienti da altri paesi.
Se non sei a conoscenza del codice del paese, puoi ottenerlo semplicemente richiamando l’istruzione:
if(isset($_SERVER["HTTP_CF_IPCOUNTRY"]))
{
$paeseClient = $_SERVER["HTTP_CF_IPCOUNTRY"];
}
Nota: Ricorda di usare la condizione if(isset($_SERVER["HTTP_CF_IPCOUNTRY"]))
per evitare errori nel codice in caso di errata configurazione di Cloudflare.
Iscriviti alla nostra Newsletter qui e seguici su Facebook per aggiornamenti!
Articoli recenti:
- Recensione In Fuga. Ciclo Le Cronache dell’Ultimo Druido di Kevin Hearne
- Recensione Fool Moon di Jim Butcher
- Recensione Storm Front di Jim Butcher
- Upgrade Scheda Rete. Sostituzione della Realtek RTL8822CE
- Da jQuery a JavaScript Puro: Sfruttare il Potenziale Nativo del Web