Lorsqu'un utilisateur se connecte via un VPN, la géolocalisation IP n'échoue pas : elle répond simplement à une autre question que celle que vous vouliez poser. La recherche identifie correctement le réseau par lequel le trafic sort actuellement, c'est-à-dire le serveur du fournisseur de VPN, et non la connexion propre de l'utilisateur. Si ce serveur de sortie se trouve dans un autre pays, le résultat de localisation y placera l'utilisateur avec assurance et à juste titre, car du point de vue du réseau, c'est bien de là que provient le trafic.
Les proxys se comportent de la même façon en principe, même si les détails varient. Un proxy direct relaie une requête d'une IP vers une autre, et la destination ne voit que l'adresse du proxy. Un proxy transparent peut transmettre l'adresse du client d'origine dans un en-tête, mais un proxy bien configuré la masque entièrement. Dans les deux cas, la recherche de géolocalisation ne se trompe pas sur l'IP qu'on lui a fournie. Elle décrit simplement le réseau auquel appartient cette IP, c'est-à-dire l'infrastructure de l'opérateur du proxy ou du VPN, et non la personne qui se trouve derrière.
Cela compte pour deux cas d'usage différents que l'on confond souvent. Si votre objectif est la conformité ou la localisation de contenu, une lecture exacte du réseau de sortie est souvent exactement ce qu'il vous faut, puisque c'est la juridiction par laquelle le trafic est légalement acheminé. Si votre objectif est la détection de fraude, le signal intéressant n'est pas la localisation elle-même, mais le fait que la connexion provienne d'une infrastructure connue pour être un VPN ou un hébergeur plutôt que d'un réseau résidentiel ou mobile, ce qui constitue une donnée distincte de la géolocalisation elle-même.
Détecter qu'une IP donnée appartient à une infrastructure de VPN ou de proxy est un problème différent de celui de placer cette IP sur une carte, et cela suppose de suivre les plages d'adresses exploitées par les hébergeurs et les fournisseurs de VPN, une liste qui change sans cesse à mesure que de nouveaux services apparaissent et que d'anciens sont réattribués. Ce signal est disponible en option à côté du résultat géographique, car l'inclure par défaut dans chaque réponse ralentirait les requêtes qui n'en ont pas besoin.
Rien de tout cela ne rend la géolocalisation IP moins utile. Cela en fait une description de la topologie du réseau, ce qu'elle a toujours été. Considérez un résultat signalé comme VPN comme « cette connexion sort actuellement par ce réseau », et non comme « ce n'est certainement pas là que vit l'utilisateur », et les données font exactement ce qu'elles promettent. Pour obtenir le détail du réseau avec les champs de localisation, passez mg_extras=1 ou l'en-tête X-MG-Extras sur la recherche IPv4 ou la recherche IPv6.
Une adresse dans un centre-ville bien cartographié ne vous apprend presque rien sur la façon dont votre système gère une route rurale, une frontière contestée ou une requête près des pôles. Testez délibérément les cas difficiles.
Tous les jeux de données contenant des informations de localisation apparemment publiques ne peuvent pas légalement être utilisés dans un produit payant. Ce sont souvent les conditions de licence, et non la disponibilité technique, qui fixent la véritable limite.
Lorsqu'une requête ne peut réellement pas être résolue de manière fiable, ne rien renvoyer est une meilleure réponse que renvoyer une supposition présentée comme un fait. Voici le raisonnement derrière ce choix.