PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


GeoIP Fullsize Website

with 2 comments

GeoIP @mail.deWer schnell und unkompliziert sehen möchte wo eine IP-Adresse ungefähr beheimatet ist, der sucht sicherlich bei Google nach so etwas wie „ip geo location“ oder ähnliches. Es finden sich dann einige Suchergebnisse mit Webseiten und Formularen, in die man die IP-Adresse einträgt und man dann Informationen zur IP bekommt, wie beispielsweise den Reverse-DNS-Eintrag oder vielleicht auch einer kleinen Karte, wo die IP-Adresse ungefähr zugewiesen wurde.

Doch diese Webseiten sind häufig nicht IPv6-ready, und man kann sich nicht nur die Karte anschauen wenn das das einzige ist was einen interessiert. Wir haben dazu nun einen kleinen Dienst erstellt bei mail.de, der frei nutzbar ist und wo nur die Karte angezeigt wird, und zwar Fullsize:

https://geoip.mail.de

Standardmäßig wird erstmal die IP-Adresse des aktuellen Besuchers genommen, es kann aber oben für das kleine Textfeld oder über den GET-Parameter q eine IP-Adresse übergeben werden. Außerdem lässt sich die Sprache der Karte umstellen. Es funktioniert mit IPv6-Adressen und ist über HTTPS erreichbar, sodass man keine Probleme mit Mixed-Content bekommt.

Ein Beispiel

Überall wo man IP-Adressen hat, seien es Logauswertungstool, Admintools oder eine Liste mit Online-Besuchern der Seite, kann man nun ein Popup öffnen lassen oder ein iFrame einbinden mit folgender URL:

https://geoip.mail.de/?q=213.128.151.200&l=de

Natürlich funktioniert das auch mit IPv6-Adressen.

Warum Google Maps

Als Alternative steht OpenStreetMap bereit, allerdings gibt es da 2 Probleme. Erstens gibt es keine schönen Satellitenkarten bzw. Hybrid-Karten, wie sie bei Google Maps möglich sind, eine gezeichnete Karte sieht nicht ganz so hübsch aus. Und zweitens sind die Tile-Server anscheinend nicht per HTTPS erreichbar, sodass die Beispiele via OpenLayers alle nicht funktionieren. Selbst einen Tile-Server zu betreiben haben wir erstmal nicht vor.

Selbst hosten

Der Sourcecode steht auf Github bereit, sodass es bei Bedarf auch auf dem eigenen Webserver betrieben werden kann. Dazu muss man nach dem Download des Repositories einmalig die Abhängigkeiten auflösen via Composer, bei Google einen Google-Maps-API-Key besorgen und in die URL (Zeile 108) einbauen, und dann regelmäßig die kostenlose IP-Location-Datenbank von MaxMind updaten damit man möglichst genaue Positionen bekommt.

Written by Michael Kliewe

März 7th, 2014 at 11:09 am

2 Responses to 'GeoIP Fullsize Website'

Subscribe to comments with RSS or TrackBack to 'GeoIP Fullsize Website'.

  1. Achtung: Bitte Kommentar nicht ganz ernst nehmen 😉

    Ich wollte mal schauen wo euer Server steht:
    https://geoip.mail.de/?q=127.0.0.1&l=de

    Steht euer Server mitten im „Golf von Guinea“ im atlantischen Ozeans ?!?

    Gruß

    Christoph

    Christoph

    7 Mrz 14 at 11:48

  2. NHS Discounts

    GeoIP Fullsize Website | PHP Gangsta – Der PHP Blog mit Praxisbezug

    NHS Discounts

    24 Jun 21 at 15:52

Leave a Reply

You can add images to your comment by clicking here.