2017-08-06 1 views
0

Je crée un site Web et j'ai besoin d'enregistrer l'adresse IP de l'utilisateur pour faire une sorte de "géolocalisation" par longitude et latitude à travers l'adresse IP.Détecter l'emplacement IP sans les services tiers comme ipinfo

Actuellement, j'utilise la bibliothèque geoip de php avec maxmind geoipcity.dat (http://php.net/manual/en/book.geoip.php). J'ai vu que pour les 60/70% cette méthode ne fonctionne pas, je veux dire qu'elle ne trouve pas la longitude et la latitude et la ville, mais seulement le pays.

Je ne veux pas utiliser les services tiers, comme je l'ai écrit dans le titre du sujet. Peut-être que vous pouvez me donner une suggestion ou quelque chose que je n'ai pas trouvé sur le web.

Merci pour les réponses!

Répondre

0

Si vous ne pouvez pas accéder aux données GPS de l'utilisateur final, vous devez utiliser un service tiers pour traduire l'adresse IP ou l'adresse MAC WIFI en latitude et longitude.

Voici 2 propositions pour résoudre votre problème.

  1. Demande utilisateur final de partager leur position GPS par HTML 5. Dans ce cas, le navigateur Web demandera l'autorisation de l'utilisateur final avant de partager les coordonnées pour vous (sous réserve de disponibilité). Vous pouvez visiter http://ipgeo5.com pour des exemples de codes.

  2. Modifier une autre base de données de géolocalisation. Si la couverture vous concerne, vous pouvez évaluer d'autres fournisseurs de bases de données. Vous pouvez visiter http://lite.ip2location.com et utiliser leur base de données IP2Location LITE pour voir si elle répond à vos exigences.

+0

Vraiment merci. Je vais essayer la base de données ip2location. Mais j'ai une question. De la première façon (ipgeo) puis-je obtenir l'ip de l'utilisateur? J'ai téléchargé toutes les villes dans une table sql avec la longitude et la latitude. Mon idée est de créer une requête qui crée une sorte de rayon autour de la longitude et la latitude de l'utilisateur et obtenir les villes les plus proches. Est-ce une bonne idée ou mauvaise? – Stackedo

+0

Mise à jour: J'ai essayé le ip2location (http://www.ip2location.com/developers/php), ça marche vraiment bien! Mise à jour 2: Il s'agit d'une base de données BIN de démonstration DB9. Vous pouvez évaluer l'adresse IP de 0.0.0.0 à 99.255.255.255, payant seulement je résolve? x ' – Stackedo

+0

@stackedo Vous devez vous inscrire sur le site gratuit IP2Location LITE depuis http://lite.ip2location.com et télécharger le fichier complet DB9 BIN. Les exemples de fichiers dans la zone de développement sont incomplets à des fins de démonstration. –