Comment récupérer une adresse IP + géolocaliser les visiteurs ?
Adresse IP et géolocalisation complète
1. Préambule:
Compatible: PHP 5 PHP 7
Il est parfois très utile de connaître certaines informations concernant les visiteurs d'un site web.
Déjà à des fins statistiques, mais aussi pour un tas d'autres raisons plus pertinentes les unes que les autres.
En décortiquant toutes les informations que l'on peut exploiter à partir de l'adresse IP, on peut facilement obtenir,
par exemple, l'adresse IP proprement dite, le pays, le code pays, la ville, le code postal et cetera et cetera... et même la latitude et longitude.
Ces 2 dernières informations peuvent se révéler très pratiques, en effet elles sont indispensables pour afficher une carte
Google Map qui situera jusque l'emplacement dans la rue. Une clé API Google Map sera alors requise. ( Voir Fichiers source)
Beaucoup de sites utilisent MAXMIND sur GeoIP2. >> MAXMIND
L'exploitation de cette source, n'est pas à la portée de tous d'une part, d'autre part cela suppose d'uploader très régulièrement sur votre propre serveur,
des bases de donnée volumineuses qui de plus sont désormais toutes payantes ....
La solution que nous vous proposons dans ce tuto, est externalisée, une fois le code en place dans votre page, plus besoin d'y revenir, vous exploitez les informations d'une source externe!
C'est quasiment gratuit, dans la mesure où vous ne payez que la modique somme de 13 € par mois à partir du moment où vous dépassez 45 requests / minute.
Concrètement, vous ne seriez pas ici avec + de 45 visites par minute, vous auriez vos propres développeurs à demeure, non ?
Ce script vous permet de:
Récupérer et afficher une adresse IP (même derrière un Proxy)
Récupérer et afficher le pays
Récupérer et afficher le code pays
Récupérer et afficher la région
Récupérer et afficherla ville
Récupérer et afficher le code postal
Récupérer et afficher la latitude
Récupérer et afficherla longitude
Récupérer et afficher le FAI
Récupérer et afficher le code d'identification du FAI
Afficher une carte Google Map avec toutes les fonctions
Un lien pour obtenir une clé API Google Map est fourni avec les fichiers source.
Vous pouvez tester avec votre propre adress IP, rassurez-vous, nous n'enregistrons rien !!
> > Tester
Vos Infos:
Votre adresse IP: 18.207.160.97
Pays: United States
Code Pays: US
Région: Virginia
Ville: Ashburn
Code Postal: 20149
Latitude: 39.0438
Longitude: -77.4874
ISP Nom Amazon.com, Inc.
AS number: AS14618 Amazon.com, Inc.
Je soutiens
Les dons ne sont pas à but non lucratif, il soutiennent si vous le désirez le développeur du code.
Ils sont déclarés et vous disposez d'une facture.
<style>
#map {height: 400px; width: 100%;}#map-1-3 {height: 200px;width: 100%;}
/* Le script ne fonctionnera pas sans le css ----- Ici nous allons utiliser l' id map */
</style>
<?php
$apiKey = "AIzxxxxxxxxxxxxx";
// Votre clé API Google
?>
<div id="map"></div>
<script type="text/javascript">
function initMap() {
var <?php echo $realVille; ?> = {lat: <?php echo $realLat; ?>, lng: <?php echo $realLong; ?>};
var map = new google.maps.Map(document.getElementById('map'), {
scaleControl: true,
center: <?php echo $realVille; ?>,
zoom: 13
});
var infowindow = new google.maps.InfoWindow;
infowindow.setContent('<b><?php echo $realVille; ?></b>');
var marker = new google.maps.Marker({map: map, position: <?php echo $realVille; ?>});
marker.addListener('click', function() {
infowindow.open(map, marker);
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=<?php echo $apiKey; ?>&language=fr®ion=<?php echo $realCode; ?>&callback=initMap">
</script>
Et voilà ... Pour aller enconre plus loin, rien n'empêche d'enregistrer en base de donnée
les informations récupérées comme $realIP, $realPays etc ...