GeoIP v PHP

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:

  1. Databasi IP adres.

    Ta může být i zdarma – GeoLite.

    Stáhnout

  2. PHP skript, jenž bude s touto DB pracovat.

    geoip.inc

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.

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

PHP proxy skript

PHP proxy skript na 50 řádků

Hotový PHP skript umožňující zobrazit web prostřednictvím jiné IP adresy.

Generování PDF

Generování PDF

Vytváření PDF dokumentů v JavaScriptu a PHP.

Složení jednoduchého webu v PHP

Jednoduchý web v PHP

I web o pár stránkách je vhodné skládat automatisovaně. Jak na to v PHP?

Stažení cizí stránky

Získání obsahu cizí stránky

Jak v PHP a JavaScriptu získat obsah z cizí webové stránky.

Parsování HTML v PHP

Parsování HTML v PHP

Jak v PHP parsovat HTML stránku a získat z ní potřebná data.

Komentáře