Im zweiten Schritt kommt das API zum ersten Mal zum Einsatz. Sie öffnen mit geoip_open() die GeoIP-Datei, in welcher die IP-Adresse auf das entsprechende Land gemappt wird. Die IP-Adresse wird als fester Wert in der Variablen ip mitgegeben. Die Abfrage des Ländercodes und des Landes im Klartext erfolgt anschließend mit Hilfe der beiden Funktionen geoip_country_code_by_addr() und geoip_country_name_by_addr() . Als Parameter wird jeweils die Variable gi übergeben, welche die Datenbank repräsentiert, sowie die IP-Adresse, die analysiert werden soll. Zum Schluss wird die Verbindung zur Datei geo-ip.dat wieder abgebaut. Das geschieht mit Hilfe des Befehls geoip_close() :
Die Ermittlung des zugehörigen Landes der IP-Adresse funktioniert analog der IPv4-Adresse, allerdings über die Funktion geoip_country_name_by_addr_v6() . Gleiches gilt für die Ermittlung des Ländercodes - für diesen lautet die Funktion entsprechend geoip_country_code_by_addr_v6() . Als Wert können Sie nicht nur eine IPv6-Adresse übergeben, sondern auch einen URL, beispielsweise ipv6.google.com .
Ermittlung weiterer Informationen
Natürlich lässt IPv6 nicht nur Rückschlüsse auf das Land zu, sondern gibt wie auch die IPv4-Adresse weitere Details zum Standort bekannt. Die Suche nach der passenden Umsetzungsdatei ist allerdings etwas schwieriger, da sich diese nicht wie die anderen Dateien im DownloadVerzeichnis befindet, sondern unter http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta. Ansonsten sind die Änderungen im Vergleich zum IPv4-Beispiel sehr überschaubar:
Sie nutzen die spezielle IPv6-Datei zur Bestimmung der Stadt, die IP-Adresse ist entsprechend im IPv6-Format und die Ermittlung der Informationen zur IP-Adresse erfolgt über die Funktion geoip_record_by_addr_v6() . Ansonsten bleibt alles wie gehabt.
Neben diesen Daten bietet Ihnen MaxMind noch eine Reihe weitere Datenbanken mit zusätzlichen Informationen an, die allerdings nicht mehr kostenlos, sondern nur gegen Bezahlung zur Verfügung gestellt werden. Die Kosten richten sich nach dem Detaillierungsgrad der Daten. Für die USA lässt sich beispielsweise mit Hilfe der IP-Adresse auch die Art und die Geschwindigkeit des Zugangs ermitteln. Die einzelnen Lizenzen, welche MaxMind verkauft, beinhalten eine Grundgebühr für den Erwerb einer Lizenz sowie eine Service-Gebühr für die regelmäßigen Updates der Datenbank. Je nach Umfang der Auswertung kommen auf diesem Weg problemlos mehrere hundert Euro zusammen. Dies ist somit nur dann sinnvoll, wenn Sie Ihr Webangebot sicher und zuverlässig vor bestimmten Zugriffen absichern müssen.
Dokumentation der Schnittstelle
Die kostenlosen Funktionen von GeoIP sind nur recht rudimentär beschrieben, am schnellsten kommen Sie mit den Beispielen aus dem Download-Bereich voran. Auch die kommerziellen Schnittstellen lernen Sie am einfachsten über die exemplarische Implementierung kennen, welche MaxMind zur Verfügung stellt. Ergänzende Dokumentationen und Beschreibungen erhalten Sie zum einen innerhalb der PHP-Dokumentation, aber auch auf der MaxMind-Website im Bereich Support .
An dieser Stelle sind alle Schnittstellen sowohl nach Betriebssystem als auch nach Programmiersprache unterteilt und es stehen jeweils zahlreiche Implementierungsbeispiele zur Verfügung.
Haben Sie die Herkunftsdaten erst einmal ermittelt, können Sie diese auch zuverlässig weiterverarbeiten. Wenn Sie Ihren Besuchern eine Visualisierung des Standorts bieten möchten, nutzen Sie zum Beispiel einen Dienst wie Google Maps mit der entsprechenden Schnittstelle.
Auf mittlere Sicht könnte HTML5 und das Geolocation-API den heutigen Diensten noch gefährlich werden. Die Schnittstelle bietet nämlich nicht nur die Möglichkeit, den Standort des Benutzers über die GPS-Daten zu ermitteln, sondern nutzt alternativ auch die IP-Adresse und validiert diese gegen zentrale Services.
Wenn Sie für Ihr Webangebot eine Analyse der Herkunft des Besuchers benötigen, gibt es nur die IP-Adresse als zuverlässiges Medium. Eine Auswertung nach Land lässt sich mit kostenlosen Diensten wie MaxMind problemlos realisieren. Die Ungenauigkeit von zwei Prozent lässt sich problemlos verkraften, da geübte Internetsurfer aufgrund von Anonymisierungs-Diensten ihr Herkunftsland problemlos vor Ihnen verborgen halten können. Dies funktioniert in der Regel immer und scheitert höchstens an der Bandbreite des Proxy-Servers, der die Verschleierung übernimmt. Die meisten dieser Angebote sind nicht auf eine höhere Bandbreite ausgelegt, sondern liefern lediglich eine IP-Adresse - beispielsweise aus den USA. [mb]
ALTERNATIVE BIBLIOTHEKEN
Neben MaxMind gibt es eine Reihe von weiteren Anbietern, die Geolocation-Dienste offerieren, sowohl kommerziell als auch kostenlos:Digital Element (www.digitalelement.com) ist einer der führenden Anbieter von IP-Intelligence und Geotargeting. Zu seinen Kunden gehören - nach eigenen Angaben - beispielsweise Ask.com oder der Nachrichtendienst Cnet. Auch GetPos (www.getpos.de) bietet Ihnen die Geo-location-Dienstleistung kostenlos an. Der Zugriff auf die Schnittstelle aus dem Internet heraus erfolgt mit Hilfe von Webservices und XML. Für die Nutzung des Dienstes ist lediglich eine kostenlose Registrierung auf der Website notwendig. Ebenfalls im kommerziellen Bereich angesiedelt ist IP2Location (www.ip2location.com). Der Dienstleister bietet Ihnen verschiedene Tools zur direkten Abfrage von IP-Adressen, aber auch Schnittstellen für den Zugriff auf die Daten. Die Kosten sind abhängig vom Detaillierungsgrad der Informationen. Der Anbieter IPAddressAPI (www.ipaddressapi.com) bietet Zugriff auf seine Datenbank im Internet, über die Sie ebenfalls alle relevanten Daten zu Ihrem Zugang, zum Standort sowie zum Provider abfragen können. Die meisten dieser Dienste bieten eine Schnittstelle zur Ansteuerung der Datenbank, oftmals auch für PHP Es gibt noch zahlreiche weitere Dienste im Internet - eine Suche nach IP Location bringt bei Google mehr als 62 Millionen Treffer.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.