Autor Zpráva
Misha
Profil *
Zajímalo by mě jak zjistím z jakého státu přišel uživatel na mé stránky. Předpokládám, že asi podle IP adresy, ale jak to na ni poznám?
djlj
Profil
Nejlépe asi s rozšířením GeoIP. Jinak můžeš i podle domény prvního řádu.
Misha
Profil *
No podle domény by to šlo tak, že bych měl pro každý stát doménu a podle ni bych to přesměrovával, ale to je trochu zbytečné a málo kdy realizovatelné.

Co když server nevyužívá GeoIP?
djlj
Profil
Přirozeně jsem měl na mysli doménu prvního řádu IP adresy uživatele.
Misha
Profil *
Takže 85. je jediná doména pro česko?
Měsíček
Profil
nn
djlj
Profil
Misha
Co to?
Použij http://cz.php.net/manual/cs/function.gethostbyaddr.php
Misha
Profil *
A asi náhodou nevíte, kde bych našel seznam domén s přiřazením k jednotlivým zemím?
Misha
Profil *
djlj
vyzkouším
Timy
Profil
Misha
http://www.iana.org/root-whois/index.html
Misha
Profil *
Timy
No potřeboval bych spíše ty první řád z IP domény.
Misha
Profil *
djlj
Takže ten příkaz mi vrátí tohle: gwfm-1-237.802.cz
802.cz je poskytovatel připojení, takže z toho nelze brát v potaz koncovku .cz
gwfm - předpokládám, že tohle je ono místo ze kterého je uživatel. (fm jako město)... zbytek nevím.
djlj
Profil
Misha
Ano, takže si z toho vezmeš to cz, a máš stát, odkud uživatel je.
Misha
Profil *
djlj
No to právě si nejsem jist, protože můj poskytovatel připojení je "802.cz", on má to cz v názvu. Takže pokud by byl někdo připojen třeba přes O2, tak tam to cz asi nebude, ne?
Retal
Profil
http://www.maxmind.com/app/country
djlj
Profil
Retal
Misha ale psal, že na serveru GeoIP nemá. Navíc existuje i verze zdarma.

Misha
Tak to máš pak smůlu, lepší řešení není. U ó dva ale nejspíš bude taky cz.
Retal
Profil
djlj
"Our CSV format enables you to load the database into a SQL database."

Odhadovat zemi návštěvníka podle koncovky přeložené IP adresy je nápad na podobné úrovni jako odhadovat podle doménové koncovky jazyk stránek.
Retal
Profil
...
Misha
Profil *
Retal
No jo, ale jak bys to tedy udělal jinak, když nemůžeš použít GeoIP?
djlj
Profil
Retal
Toho jsem si nevšiml, promiň :).

Ohledně tvé druhé věty — netvrdím opak.
Retal
Profil
Misha
Podívej se na ten odkaz. Nabízejí geolokační databázi rozsahů ipéček. S ní si můžeš vytvořit vlastní rozpoznávání.

djlj
Ta druhá věta už nebyla na tebe, ale obecně na ten nápad. :)
Misha
Profil *
OK, díky všem
DFly
Profil
Misha
onehda jsem to take resil, a vlastni geoip tabulka je asi nejidealnejsi zpusob (oni to rucne docistuji a upravuji)
prvotne jsem si delal vlastni engine, ktery tahal aktualni data z whois serveru, ale nebyla tak velka relevance (napr. ceska sit provozovana zahranicnim providerem ma u subjektu svoji zemi)
takhle sice musis obcas databazi aktualizovat, nebo si na to udelat automatizaci (tak to resim ja)

stahni csv soubor a naimportovat do predem pripravene tabulky primo z .csv, nebo si na to udelej script (a samozrejme zaindexovat)

a pak uz jen (zalezi na tom jaka pouzijes jmena sloupcu)
$ip = $_SERVER['REMOTE_ADDR'];
$ip_seg = explode('.', $ip);
$ip_num = ($ip_seg[0] * 0xFFFFFF) + ($ip_seg[1] * 0xFFFF) + ($ip_seg[2] * 0xFF) + $ip_seg[3];
$ip_q = MySQL_Query("SELECT CountryName FROM geoip WHERE StartNum <= $ip_num && EndNum >= $ip_num");
$ip_d = MySQL_Fetch_Array($ip_q);
$ip_country = $ip_d['CountryName'];

da se to pak vice optimalizovat - rozhodit nazvy zami do extra tabulky a pod.
BetaCam
Profil
No je ovšem otázka jestli v dnešní době, kdy je hromada lidí schovaná za proxy, TORem atd.. nebudou získaná data zavádějící. :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0