
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.
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.
Wir freuen uns, wenn Ihr diesen Beitrag teilt.
Kommentare
Keine Kommentare gefunden.