This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== 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: <code php> <?php $ip = '145.58.29.80'; $countrycode = geoip_country_code_by_name($ip); printf("%s\n", $countrycode); ?> </code> 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: <code bash> curl -sS https://getcomposer.org/installer | php php composer.phar require geoip2/geoip2:~2.0 </code> Daarna kan benaderen vanuit php er zo uit zien: <code php> <?php require 'vendor/autoload.php'; use MaxMind\Db\Reader; $reader = new Reader('/etc/GeoIP/GeoIP2-Country.mmdb'); $ipAddress = '2a02:458:101:28:100:29:0:50'; print_r($reader->get($ipAddress)); $reader->close(); ?> </code> 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 | maxmind-geoip.txt Last modified: 2026/05/27 14:01by 127.0.0.1 Log In