Differences

This shows you the differences between two versions of the page.

Link to this comparison view

maxmind-geoip [2019/04/26 10:34] (current)
Line 1: Line 1:
 +====== 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 bij de servicedesk 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 bij de servicedesk 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: 2019/04/26 10:34
  • (external edit)