Emplacement techniques pour la détection des adresses IP
Quels sont les emplacement techniques pour la détection des adresses IP?
Je sais que pour le look à la
$_SERVER['HTTP_ACCEPT_LANGUAGE']
(pas précis, mais surtout utile pour la détection de l'emplacement, par exemple si une plage d'adresses IP des utilisateurs mis française à leur navigateur, cela signifie que cette gamme) appartient à la France
gethostbyaddr($_SERVER['REMOTE_ADDR'])
(pour look country code top-level domain)
alors peut-être le whois gethostbyaddr($_SERVER['REMOTE_ADDR'])
parfois:
$HTTP_USER_AGENT
(Firefox de la chaîne de l'agent utilisateur a le code de langue, pas précis, mais la plupart peuvent être utilisés pour détecter l'emplacement)
Aussi je sais comment obtenir le fuseau horaire mais il ne fonctionne pas dans les nouveaux navigateurs.
En outre, il est question css qui détecte le visiteur de l'histoire, il peut être utilisé pour voir ce que google et les pages de wikipédia, il/elle a visités (google.co.royaume-uni, google.com.tr)
Mais quelles villes?
- Plusieurs doublons, y compris stackoverflow.com/questions/283016/... et stackoverflow.com/questions/2244989/...
- Non, ils demandent des services, - je vous demander comment ces services ont détecté les lieux.
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas faire cela sans une base de données des cartes d'adresses IP à des villes/pays/fournisseurs. Il y a des offres commerciales comme ip2location que vous pourriez utiliser.
autant que je sache, il n'y a pas d'alternative libre si, comme le maintien d'une telle IP de la base de données, c'est beaucoup de travail.alternative Gratuite: GeoIP2Mise à jour:
Il y a plusieurs choses qui vous permettent de créer un tel db, si vous investissez suffisamment de temps:
même lire le nom de la ville dans la plaine du texte si vous faire un reverse-DNS. Parfois, il est
plus cryptique. Par exemple, j'ai actuellement p5dcf6c4a.dip.t-dialin.net et je n'ai pas de
l'idée que le schéma de nommage est..
l'emplacement de sa liaison montante
Si vous à la recherche de quelques copier - coller solution, j'a trouvé ce code :
Espère que cela aide quelqu'un.
Il existe des bases de données (certains sont gratuits) qui peut être utilisé pour convertir des adresses IP dans les Villes:
par exemple: http://www.maxmind.com/app/geolitecity
Vous pouvez mapper une adresse IP à son emplacement (ville, pays, code postal), les fuseaux horaires, etc. avec une base de données ou API (base de données hébergée).
Voici un exemple d'utilisation d'un API
plus ici : Emplacement à partir de l'adresse IP
Au lieu de l'aide de tiers, de l'API, je vous suggère d'utiliser l'auto hébergé enregistrement IP. Ce post vous expliquer plus
http://www.techsirius.com/2014/05/simple-geo-tracking-system.html
Ils sont essentiellement à l'aide de maxmind du pays de la ville IP enregistrement de base de données [http://dev.maxmind.com/geoip/geoip2/geolite2/%5D avec quelques modifications. Après qu'un exemple de requête
U pouvez utiliser cette fonction
Appeler la fonction
Ces bases de données sont compilées est à partir de l'information du whois. Par exemple, pour déterminer l'emplacement de 69.59.196.211:
Évidemment, ce n'est pas très précis, de sorte que des techniques plus sophistiquées sont censées être utilisées.
Si la fonctionnalité de géolocalisation n'est pas une grande exigence pour votre projet, vous pouvez utiliser quelque chose d'aussi simple que cela:
Vous devez prendre en compte que freegeoip a une limite de 10k demande/heure.
La plupart des bases de données existantes utiliser l'agrégation de données à partir des registres internationaux ARIN, AFRINIC, ANIC, etc ainsi que soumis par les utilisateurs des lieux. Des techniques plus sophistiquées inclure la Topologie et les Contraintes de la Géolocalisation.
Je dirige ma propre API ipdata.co qui offre plusieurs points de données, y compris, le pays, la ville, la région, lat/long et d'autres.