Quantcast
Channel: Webworking » Geocoding
Viewing all articles
Browse latest Browse all 6

Mittels GeoIP die Herkunftsstadt einer IP-Nummer ermitteln

$
0
0

Google Maps-Anwendungen kursieren inzwischen recht viele dort draußen, aber leider kommen die wenigstens auf die Idee, dass man eigentlich dem Nutzer ein sehr nettes Feature anbieten könnte: Man ermittelt seine IP-Nummer, mit der GeoIP-Datenbank stellt man fest, in welchem Ort der Provider des Benutzers beheimatet ist, und dann zentriert man die Map auf diesen Ort. Natürlich hat man an dieser Stelle mit allerhand Unschärfe zu kämpfen, denn zum einen kann die GeoIP an sich fehlschlagen, zum anderen kann es auch bei der Geocodierung zu Problemen kommen. Nichtsdestotrotz ist es ein nettes Feature, das man bei manchen Projekten durchaus einsetzen sollte.

Wie Adressen geocodiert werden, habe ich ja schon beschrieben, insofern müssen wir uns nur noch mit der GeoIP an sich beschäftigen. Die Datenbank GeoLite City von Maxmind ist hierbei frei und ist schon sehr genau (99.5%). Wer es genauer wissen will, kann sich auf der Homepage von Maxmind natürlich auch für die kommerzielle Version entscheiden. Der Zugriff auf beide ist programmier-technisch identisch. Für die kommerzielle Version können darüber hinaus monatliche Updates erworben werden.

Allerdings hat das Ganze auch einen Haken: Sinnvollerweise entscheidet man sich bei der Datenbank für eine Binärversion, die 30MB groß ist. Funktionscaching ist also sinnvollerweise angesagt! Wer möchte, kann sich natürlich auch für die .csv-Version entscheiden, die dann in eine Datenbank eingelesen werden könnte. Maxmind stellt eine prima Installationsanleitung für die Datenbank bereit. Wobei sich die Installation eigentlich auf das Auspacken des Archives beschränkt.

Zumindest für PHP gibt es eine eigene API, die den direkten Zugriff auf die Binärdatei erlaubt. Downloaden kann man die PHP-Dateien hier. Wenn man in Performance-Probleme läuft, kann man die API auch direkt in PHP als Modul einkompilieren. Für unser Tutorial verwenden wir natürlich die „einfache“ Methode, da die wenigsten Provider es zulassen werden, PHP anzupassen.

Hat man das Tool heruntergeladen, ist der Einsatz wirklich einfach:

include("geoipcity.inc");
include("geoipregionvars.php");
$clientip = $_SERVER['REMOTE_ADDR'];
$gi = geoip_open("/usr/local/share/GeoIP/GeoIPCity.dat",GEOIP_STANDARD);
$record = geoip_record_by_addr( $gi, $clientip );
echo $record->city;
geoip_close($gi);

Viewing all articles
Browse latest Browse all 6

Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Lola Bunny para colorear


Dino Rey para colorear


Girasoles para colorear


Dibujos de animales para imprimir


Renos para colorear


Dromedario para colorear


Love Quotes Tagalog


Mga Patama Quotes at Pamatay Banat Quotes


RE: Mutton Pies (mely)


Gwapo Quotes : Babaero Quotes


Kung Fu Panda para colorear


Libros para colorear


Mandalas de flores para colorear


Dibujos para colorear de perros


Toro para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Long Distance Relationship Tagalog Love Quotes


Love Quotes Tagalog


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario





Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC