====== Maxmind GeoIP Location ======
Maxmind biedt een dienst aan waarbij GeoIP locatie gedaan kan worden op
basis van IP adressen; je geeft de dienst een IP adres en er komt een
land, stad, ISP uitrollen.
Wij hebben een abonnement op de
[[https://www.maxmind.com/en/geoip2-country-database|Maxmind country]]((and western?)) database (zowel legacy als versie 2) en op die manier kunt
u deze gebruiken in uw web applicaties.
Maxmind biedt op dit moment 2 smaken databases aan, de zogeheten
"Legacy" databases en de nieuwe, GeoIP2 databases.
Beiden kunnen vanuit php benaderd worden.
Omdat kopieën van de databases lokaal bij ons op de servers staan kunnen
er heel snel en heel veel requests op gedaan worden, zonder dat daar
verdere kosten aan verbonden zijn.
====== Legacy databases ======
Hiervoor moet de "geoip.so" extensie in php geladen zijn.
In onze command line (cli) php varianten is dat standaard het geval.
Voor de webservers kunt u een verzoek via https://support.npohosting.nl doen om de
extensie te activeren.
Het benaderen vanuit php is heel eenvoudig:
Zie voor meer informatie de
[[http://www.php.net/manual/en/ref.geoip.php|documentatie]] van de geoip
php module.
Naast de ''geoip_country_code_by_name'' functie zijn er nog een stel
andere functies die gebruikt kunnen worden, maar voor een aantal geldt
dat deze de gratis varianten (de zgn "Lite" databases) van Maxmind
gebruiken. Deze zijn minder precies en Maxmind staat op het punt om deze
te [[https://dev.maxmind.com/geoip/legacy/geolite/|discontinueren]], dus
wij adviseren om snel over te gaan van de legacy naar de GeoIP2 varianten.
====== GeoIP2 databases ======
Hiervoor moet de "maxminddb.so" extensie in php geladen zijn.
In onze command line (cli) php varianten is dat standaard het geval.
Voor de webservers kunt u een verzoek https://support.npohosting.nl doen om de
extensie te activeren.
Het gebruik van de GeoIP2 databases is wat ingewikkelder, dit staat
uitgelegd in de GeoIP2
[[http://maxmind.github.io/GeoIP2-php/|documentatie]]
In deze API is het helaas nodig om zelf de locatie van de database files
op te geven. Deze staan bij ons in ''/etc/GeoIP''. De belangrijkste
database file is ''/etc/GeoIP/GeoIP2-Country.mmdb''.
Voor deze api is het dus van belang om eerst zelf de dependencies te
installeren:
curl -sS https://getcomposer.org/installer | php
php composer.phar require geoip2/geoip2:~2.0
Daarna kan benaderen vanuit php er zo uit zien:
get($ipAddress));
$reader->close();
?>
Wij bieden de volgende databases aan:
^ database ^ omschrijving ^
| [[https://www.maxmind.com/en/geoip2-country-database|GeoIP2-Country.mmdb]] | De reguliere paid-for, country database. Gebruik deze waar mogelijk |
| [[https://dev.maxmind.com/geoip/geoip2/geolite2/#Downloads|GeoLite2-ASN.mmdb]] | Autonomous System Number, kan gebruikt worden om te bepalen vanuit welk netwerk een IP adres komt |
| [[https://dev.maxmind.com/geoip/geoip2/geolite2/#Downloads|GeoLite2-City.mmdb]] | Gratis variant vam de City database |