Zum Inhalt springen
Marketing Factory Digital GmbH
Kontakt
Logo Marketing Factory Digital GmbH
  • Agentur
    • Aktuelles
    • Über uns
    • Geschichte
  • Leistungen
    • Beratung, Analyse und Strategie
    • Programmierung und Entwicklung
      • Schnittstellen
      • PIM-/ERP-Anbindungen
      • Individualentwicklungen
      • Seamless CMS Integration
    • Hosting und Betreuung
      • Betrieb auf unserer Colocation-Hardware
      • Cloud-Strategien
    • Leistungen mit Dritten
  • Technologie
    • TYPO3
      • Aktuelle TYPO3-Versionen
    • Shopware
    • IT-Sicherheit
      • DDoS-Protection
      • Continuous Upgrading
      • Privacy First
    • Tech Stack
      • Bekenntnis zu Open Source
      • Technologieauswahl
      • PHP-Ökosystem
      • Containerisierung & Clustering
      • Content Delivery Networks
      • Suchtechnologien
  • Referenzen
    • Projekte
    • Kunden
      • Kundenliste
    • Screenshot der Homepage der neuen Maxion Wheels WebsiteNEU: Relaunch der Corporate Website von Maxion Wheels
  • Community
    • Community-Initiativen
  • Blog
  • Kontakt
  • Deutsch
  • English

Sie sind here:

  1. Blog
  2. Geolokalisierung von IP-Adressen und MaxMind GeoIP2
Programmiercode
  • Development
18.02.2019

Geolokalisierung von IP-Adressen und MaxMind GeoIP2


Durch die "Verordnung gegen ungerechtfertigtes Geoblocking im Binnenmarkt" und die damit eingeführte starke, rechtliche Einschränkung dieser Technologie ist das Thema Geoblocking in den Fokus der Öffentlichkeit geraten.

Was ist Geoblocking?

Geoblocking funktioniert, indem auf Basis des Landes, in dem sich der Website-Besucher aufhält, Webseiten ihr Verhalten ändern. In der Film- und Musikindustrie ist das beispielsweise gang und gäbe. Sie nutzt Geoblocking, um Content möglichst mehrmals in verschiedenen Ländern vermarkten zu können. Jeder, der einmal ein YouTube-Video anschauen wollte und nur die Fehlermeldung „Dieses Video ist in Ihrem Land leider nicht verfügbar“ bekam, kennt das. An der Länderzuordnung ist auch trotz „Geoblocking-Verbots“ für sich nichts Verwerfliches. Viele Webseiten betreiben etwa Sprachvorauswahl darüber oder stellen länderspezifische Inhalte dar. Das bleibt auch nach der geänderten Rechtslage weiter zulässig.

Geoblocking oder doch nur Geolokalisierung?

Die Erkennung des Landes – auch Geolokalisierung genannt – geschieht auf Basis der IP-Adresse des Kunden. Die einzelne IP-Adresse gehört zu einem Block von Adressen, welcher von einer Registrierungsstelle einem Provider zugewiesen wurde. In Europa ist die RIPE (Réseaux IP Européens) hierfür zuständig. Weiß man nun, welchem Provider die IP "gehört", kennt man damit auch sehr wahrscheinlich das Land, in dem die IP verwendet wird. Die Informationen über die IP-Providerzuordnung sind grundsätzlich öffentlich, allerdings über fünf verschiedene Registrierungsstellen weltweit verteilt . Es gibt verschiedene Anbieter, die die Informationen zusammentragen und als nutzbare Datenbank zusammenstellen. Diese Datenbanken muss man natürlich regelmäßig aktualisieren, denn IP-Adressen wechseln häufig den Besitzer.

Ein Vertreter solcher Datenbanken ist die MaxMind GeoIP2, die wir bislang häufig für solche Zwecke benutzt haben. Für diese gab es das Modul mod_geoip2, das in den Webserver integriert wurde und für die eingehenden Anfragen anhand der anfragenden IP-Adresse die Geo-Informationen im Request angereichert hat. Applikationen und Content-Management-Systeme konnten diese Informationen dann für ihre Zwecke nutzen. mod_geoip2 hat darüberhinaus den Vorteil, dass es mit mod_rpaf zusammenarbeiten kann. Letzteres benötigen wir in Setups, in denen HTTP-Caches wie Varnish oder Loadbalancer eingesetzt werden, damit Apache die korrekten ursprünglichen Client-IP-Adressen kennt.

Weiter kostenfreie Updates? Ja, aber…

MaxMind stellt das Datenbankformat, das mod_geoip2 versteht, seit dem 19. Januar 2019 nicht mehr kostenfrei zur Verfügung. Stattdessen sollen alle Nutzer der kostenfreien Datenbanken auf das Apache-Modul mod_maxminddb wechseln. Dieses benutzt jedoch ein anderes Datenbankformat. Außerdem ist es nicht mehr mit mod_rpaf kompatibel bzw. kann die Geolokalisierung nicht auf Basis des von mod_rpaf gesetzten X-Forwarded-For-Headers durchführen. Klar war also, dass wir an dieser Stelle einen Ersatz benötigen.

Wir haben uns dafür entschieden, die Geolokalisierung künftig innerhalb der Applikation durchzuführen. Hierfür benutzen wir die MaxMind-PHP-Library, die ebenfalls das neue MaxMind-Datenbankformat (*.mmdb) unterstützt. Kundeninstallationen, die Varnish benutzen, sind noch einfacher dran. Hier erledigt Varnish künftig die nötige GeoIP-Zuordnung mit dem geoip2-VMOD selbst, ohne dass wir die Applikationen anpassen müssen.

Auswirkungen in der Praxis

In Sachen Performance sind alle drei Wege durchaus ebenbürtig. Es existieren Messungen aus 2016, die die PHP-Implementierung mit dem Apache-Modul vergleichen. Dort wurde kein signifikanter Geschwindigkeitsunterschied jenseits der Messungenauigkeit nachgewiesen. Da PHP 7.0 und 7.2 die Ausführungsgeschwindigkeit nochmals erheblich gesteigert haben, rechnen wir nicht mit Performanceeinbußen.

Christian Spoo

"Mr. Fix-It" zwingt Soft- und Hardware gerne seinen Willen auf. Spricht fließend Meme und Picdump. Bei der Marketing Factory für die Bereiche Entwicklung und technische Konzeption zuständig.

Weitere Beiträge dieses Autors

Blog als RSS-Feed abonnieren

Verwandte Beiträge

  • Relaunch der Website unseres Kunden Maxion Wheels auf Basis von TYPO3 12.4 LTS
  • BFSG: Was ist der richtige Alt-Text für welche Bilder?
  • Effiziente Entwicklungsumgebungen: Warum wir Kubernetes durch Virtual Machines ersetzt haben
  • Anwenderfreundliche Individualisierungen des TYPO3-Backends

Wir freuen uns, wenn Ihr diesen Beitrag teilt.


Kommentare

Keine Kommentare gefunden.

Kommentar verfassen.

Ich bin darauf hingewiesen worden, dass die Verarbeitung meiner Daten auf freiwilliger Basis erfolgt und dass ich mein Einverständnis ohne für mich nachteilige Folgen verweigern bzw. jederzeit gegenüber der Marketing Factory Digital GmbH per Post (Marienstraße 14, D-40212 Düsseldorf) oder E-Mail (info@marketing-factory.de) widerrufen kann.

Mir ist bekannt, dass die oben angegebenen Daten so lange gespeichert werden, wie ich die Kontaktaufnahme durch Marketing Factory wünsche. Nach meinem Widerruf werden meine Daten gelöscht. Eine weitergehende Speicherung kann im Einzelfall erfolgen, wenn dies gesetzlich vorgeschrieben ist.

  • Datenschutzerklärung
  • Impressum

© Marketing Factory Digital GmbH

Bildnachweise
  1. "Programmcode": lmonk72 / Lizenz: Pixabay License (CC0 1.0)