Zadejte hledaný výraz...

Geo IP v PHP

uzivatel1
verified
rating uzivatele
(7 hodnocení)
8. 2. 2019 11:20:20
Chtěli bychom na eshopu identifikovat:
A) z jaké země zákazník je (tedy ČR nebo SK)
B) Z jakého města v ČR/SK je připojen, ideálně vrátit GPS souřadnice
Z toho co jsem dohledal, tak lokaci lze získat:
1) Pomocí IP
2) přes HTML5
Zjistit z jaké země je zákazník (bod A) asi nebude problém přes IP adresu (chceme použít pro automatické nastavení ceny a dopravy)? Jak to udělat? Nechceme při každém novém připojení zákazníka používat API třetí strany, protože jsme jednak závislí na jiném serveru a navíc to bude zpomalovat web (asi by šlo nějak vyřešit). Jak tedy vyřešit? Například 1x týdně stahovat seznam IP adres a jejich lokací do naší databáze? Asi z nějaké placené služby aby byly IP adresy relevantní?
Druhý bod (B) chceme používat proto, aby jsme zákazníkovi vypsali informaci typu "7 km od Vás je výdejna Zásilkovny, kde si můžete nechat zboží zdarma odeslat".
Tady asi GPS souřadnice pomocí IP nedokážeme získat. Je jiná možnost než přes HTML 5 požádat zákazníka o sdělení polohy (vyskakovací okno prohlížeče, že web žádá o přístup k poloze)? Myslíme si totiž, že valná většina přístup k poloze nepovolí.
Děkuji.
8. 2. 2019 11:20:20
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387384
Povlní GPS v prohlížeči je vždy na dotaz, je to otázka bezpečnosti/soukromí uživatele - jinak to nepůjde.
Co se týká bodu A, ani to není jednoznačné. např. mobilní připojení má přidělené IP od operátora a to skoro nikdy nesedí s polohou.
Jsou placené databáze (rychlé) maxmind.com a další
8. 2. 2019 13:39:57
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387383
node
verified
rating uzivatele
(5 hodnocení)
8. 2. 2019 14:17:00
a) stiahni si GeoLite2-City.mmdb z https://dev.maxmind.com/geoip/geoip2/geolite2/ a kniznicu maxmind-db/reader
nie je to najprsenejsie ale rovnako nepresne yvsledky ma napriklad aj google takze to nie je o ne-kvalite dat.
8. 2. 2019 14:17:00
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387382
90% webhostingu ma geoip modul v php primo, nektere i v apache. Mrkni na vystup z phpinfo();
8. 2. 2019 15:10:04
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387381
Napsal gransy;1510841
90% webhostingu ma geoip modul v php primo, nektere i v apache. Mrkni na vystup z phpinfo();
A 90% z nich ho nemá aktualizovaný, protože MaxMind ukončil někdy před rokem podporu starého formátu jejich databáze.
8. 2. 2019 15:46:16
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387380
node
verified
rating uzivatele
(5 hodnocení)
8. 2. 2019 16:18:48
Jo, este som zabudol, ze vcelku dobre riesenie je pouzit cloudflare, ktory pridava header s krajinou navstenvika podla geoip. Cize ak ide len o to filtrovat navstevnikov podla krajiny tak to je asi najpohodlnejsie riesenie.
What does Cloudflare IP Geolocation do? – Cloudflare Support
8. 2. 2019 16:18:48
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387379
Lukáš Frýdek
verified
rating uzivatele
12. 4. 2019 02:33:26
Přes vyskakovací okno prohlížeče to bude asi nejpřesnější, ale ne každý to může povolit.
Jinak celkem fajn služba na geolokaci dle ip je https://freegeoip.app/ – možnost zvolení formátu výstupu, např. JSON, XML aj., a vrací ip, kód země (CZ), název země (Czechia), název kraje (Plzeňský kraj), Město (Plzeň), PSČ (32300), časovou zónu (Europe/Prague) a souřadnice. Ale je potřeba počítat s tím, že všechny tyto služby určují polohu s přesností na několik desítek i stovek metrů – tedy ne zcela přesně.
Buď bych to začlenil rovnou do registrace a do databáze e-shopu přidával dle IP minimálně souřadnice, nebo na již existující databázi uživatelů bych spustil CRON. Určitě bych to při každém volání neodkazoval na nové zjišťování lokace přes třetí stranu.
12. 4. 2019 02:33:26
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387378
PragueCoder
verified
rating uzivatele
1. 9. 2019 15:10:36
Nedávno jsme tuto geolokační službu začali používat podle ip adresy
Přesnost vyhovuje, málokdy dělá chyby.
Existuje projekt na GitHubu pro PHP: https://github.com/ipwhois-io/IP-Geolocation-API
1. 9. 2019 15:10:36
https://webtrh.cz/diskuse/geo-ip-v-php#reply1387377
Pro odpověď se přihlašte.
Přihlásit