Lokalisace podle IP
Jak na základě IP adresy lokalisovat návštěvníka webu.
V některých případech se hodí zjistit zemi, ze které se návštěvník na web připojuje.
Proč lokalisovat?
- Nabídnutí vhodného jazyka webu / nabídnutí na lokalitu zaměřené nabídky.
- U webů pro primárně českou/slovenskou klientelu můžeme pro cizí návštěvníky zpřísnit ochranu před spamem.
Kromě zkoumání IP adresy se dá jazyk odhadnout z hlavičky HTTP_ACCEPT_LANGUAGE
nebo použít geolokační JS API (to ale musí návštěvník povolit).
GeoIP v PHP
Pro určení země určité IP adresy potřebujeme dvě věci:
-
Databasi IP adres.
Ta může být i zdarma – GeoLite.
-
PHP skript, jenž bude s touto DB pracovat.
Použití
Nyní stačí PHP soubor připoji a předat soubor s databásí.
include("geoip.inc");
$gi = geoip_open("GeoIP.dat", GEOIP_STANDARD);
Kód země (např. CZ
pro Českou republiku) dané IP adresy potom vrátí funkce geoip_country_code_by_addr
.
$zeme = geoip_country_code_by_addr(
$gi,
$ipAdresa
);
Pro plný název země v angličtině (např. Czech Republic
) slouží funkce geoip_country_name_by_addr
. Použití je stejné jako při získávání dvojpísmenného kódu.
Komentáře