Salve,
ho in mente di creare una pagina iniziale fake che mi reindirizzi a quella vera. Prima di leggere il contenuto del "body", vorrei che venga controllata la provenienza dell'ip dell'utente che correntemente visualizza la suddetta pagina. Per fare ciò, ho bisogno di allacciarmi al sito "hostip.info" per ottenere, come stringa, le due lettere che indichino il Paese dell'user. Così facendo, egli verrà reindirizzato al sito inglese od italiano.
Ho trovato uno script in rete e l'ho adattato in base alle mie esigenze. Utilizzando gli strumenti locali, riesco a farlo funzionare ma ottengo un valore nullo, perchè l'ip locale non corrisponde a quello reale (dell'host). Pertanto, l'unica alternativa per verificare l'effettivo funzionamento era provarlo su "Altervista". Sfortunatamente, quest'ultimo non permette l'accesso a file non appartenenti al medesimo dominio (mi riferisco alla funzione "file_get_content"). Non vi è proprio nessun modo per oltrepassare tale limite? Oppure vi è un altra alternativa che non richieda il richiamo di file esterni?
Lo script di cui parlavo è il seguente:
Codice PHP:
function geoip($ipAddr) {
//leggo il file con l'ip da hostip.info
$file = file_get_contents("http://api.hostip.info/?ip=".$ipAddr);
//ricavo il contenuto compreso tra <countryAbbrev> e </countryAbbrev>
preg_match("@<countryAbbrev>(.*?)</countryAbbrev>@si", $file, $match);
//alloco il risultato su un'altra variabile
$ipCountry = $match[1];
return $ipCountry;
}
$user_ip = $_SERVER['REMOTE_ADDR'];
$ipCountry = geoip($user_ip);
echo $user_ip; //indirizzo IP utente
echo "\n";
echo $ipCountry; //iniziali paese utente
Chiedo scusa per la lunga spiegazione e grazie in anticipo.