Rechercher : dans
Par :

Localisation par adresse ip en php

Dernière réponse le 11 oct 2009 à 15:55:30 carolline, le 11 jan 2002 à 09:44:32 
 Signaler ce message aux modérateurs

Voici mon petit probleme:
je cherche a connaitre la localisation (grossière genre pays) des personnes qui se connectent à mon site. Je sais que c'est possible car Nedstat propose un tel service et ca a l'air de marcher dans environ 90% des cas. J'essaie de faire ca en php mais je suis ouvert a tout autre langage. Je pense qu'on doit pouvoir tirer des informations de l'adresse ip, mais comment ?
Merci.

Meilleures réponses pour « localisation par adresse ip en php » dans :
Comment connaitre son adresse IP ? VoirLes quelques commandes ci-dessous vous permettront de trouver l'adresse IP de votre ordinateur. Connaître son adresse IP Sous Windows 2000 / Windows XP / Windows Vista Sous Windows 95 / Windows 98 Sous Linux Pourquoi certains sites...
Comment changer son adresse IP ? VoirDeux cas possibles Connaître son IP Changer d'IP (cas d'une IP dynamique) Solution alternative : masquer son IP L'adresse IP est une série de chiffres, soit: L'adresse IP que vous utilisez pour vous connecter au routeur (Réseau...
Adresse IP Fixe sous Windows XP VoirBien souvent, il est nécessaire d'avoir une adresse IP fixe, en particulier dans le cas où on a un réseau comptant plusieurs PC chez soi. Pour cela, il faut récupérer ces informations en faisant : Démarrer Exécuter et taper « cmd » puis...
Adresse IP VoirSommaire Qu'est-ce qu'une adresse IP Déchiffrement d'une adresse IP Adresses particulières Les classes de réseaux (obsolète) Classe A Classe B Classe C Attribution des adresses IP Adresses IP réservées Masques de sous-réseau Interet...
Usurpation d'adresse IP (Mystification / Spoofing) VoirL'usurpation d'adresse IP L'« usurpation d'adresse IP » (également appelé mystification ou en anglais spoofing IP) est une technique consistant à remplacer l'adresse IP de l'expéditeur d'un paquet IP par l'adresse IP d'une autre machine. Cette...

1

Yota238, le 11 jan 2002 à 10:14:13

Là tu vas trouver ton bohneur

http://www.2enetworx.com/

Yota238

Répondre à Yota238

2

momo, le 12 jan 2002 à 07:28:35

<script language="Javascript" src=" http://map.geoup.com/geoup?template=welcome"></script>

je pense que ça doit marcher essaie le

Répondre à momo

3

carolline23, le 12 jan 2002 à 12:30:52

Merci pour le tuyau, ca marche bien. Je me demande quand même comment ils font, et évidemment pas moyen de voir leurs sources...

Répondre à carolline23

4

WeLive.fr, le 6 aoû 2007 à 15:16:55
  • +1

J'ai installé un système de géolocalisation sur mon site Internet : http://www.welive.fr

Répondre à WeLive.fr

5

vallees4, le 7 déc 2007 à 22:22:46

Bonjour
Je suis alle sur ton site la geolocalisation est bonne pour le pays mais pas pour la ville.
j'au voulu remplir le questionaire mais impossible de terminer, le serveur me demande toujours de mettre un code, que je mets evidement et qu'il trouve a chaque fois inexact.
La ville indique est quand meme a 800 km de chez moi lol
See you soon

Répondre à vallees4

6

plombier82, le 11 déc 2007 à 17:49:29

Comment localisé le pay d'une photo

Répondre à plombier82

7

ridefmx, le 11 déc 2007 à 18:33:24

L'outil Google Analytics te permet de faire la géolocalisation par continent, pays, et même ville.
C'est très simple à implémenter (juste un javascript à coller), et ça marche bien, si tu veux pas trop t'embêter je conseille de faire le suivi des visites par une application tierce-partie comme celle là.

A+

Répondre à ridefmx

8

leletiba, le 1 fév 2008 à 07:35:04

Bonjour j'aimerais avoir sur mon forum a chaque fois que les membres écrive un drapeaux qui s'affiche de leur pays c'est possible ?et comment faire merci

Répondre à leletiba

9

pierrot, le 16 fév 2008 à 14:25:29

Bonjour, je voudrai savoir s'il etait possible d'avoir le code du site WeLive juste pour la localisation grace a l'IP. ou un autre code mais aussi precis que ce site au nievau de la ville. je trouve cela tres interessant pour savoir ou lancer une campagne de publicté pour une entreprise. cela serai mi coté administrateur enregistrer dans une bd.

Répondre à pierrot

10

WeLive.fr, le 4 mar 2008 à 16:41:24
  • +2

Pour les webmasters qui le désirent, je fournis un script PHP sur mon site Internet http://www.WeLive.fr dans la rubrique Géolocalisation par IP.
Le script PHP vous retourne les informations sous forme de variables PHP : Pays, Drapeau du pays, Région-Département-Code Postal pour la France, Ville.
Celui-ci nécessite une inscription préalable aux fins d'éviter que n'importe qui l'utilise.

A bientôt

WeLive.fr

Répondre à WeLive.fr

11

mihelicjm, le 15 mai 2008 à 23:29:28

Bonsoir,



Le code ne semble pas passer chez moi; je l'ai collé dans le footer et rien n'apparait...

Une suggestion?

Cordialement.

Jean-Marie Mihelic

Répondre à mihelicjm

15

Judes-Emile Bornes IV, le 22 mar 2009 à 07:26:46

C'est bien gentil WeLive.fr mais comment ton script peut-il fonctionner quand les gens ont une IP virtuelle par dyndns?

Répondre à Judes-Emile Bornes IV

12

phpman, le 20 mai 2008 à 01:04:56
  • +1

No comments

<?
$a=array();
// get real ip adress
@detectProxy($a);
$ip_avant = $a['IP'];
//get localisation
$ip2country = @ip2country($ip_avant);

print_r($ip2country );

function ip2country($ipadress)
{
$surl = "http://whatismyipaddress.com/staticpages/index.php/lookup-results";
$data = "LOOKUPADDRESS=" . $ipadress;
$geolocalisation = do_post_request($surl, $data);
preg_match("#<font class='block-title'>Geo-Location Information<font size=2></B></font></font><P><UL>(.*?)</TABLE>#is", $geolocalisation, $mylocalistion, PREG_OFFSET_CAPTURE);
preg_match("#<TR><TD>Country</TD><TD>(.*?)<#is", $mylocalistion[1][0], $country, PREG_OFFSET_CAPTURE);
preg_match("#<img src=\"(.*?)\"#is", $mylocalistion[1][0], $countryimg, PREG_OFFSET_CAPTURE);
preg_match("#<TR><TD>City</TD><TD>(.*?)</TD>#is", $mylocalistion[1][0], $city, PREG_OFFSET_CAPTURE);
$a = array ("country" => trim($country[1][0]), "city" => trim($city[1][0]), "countryimg" => trim($countryimg[1][0]));
return $a;
}

function do_post_request($url, $data, $optional_headers = null) {
$start = strpos($url,'//')+2;
$end = strpos($url,'/',$start);
$host = substr($url, $start, $end-$start);
$domain = substr($url,$end);
$fp = pfsockopen($host, 80);
if(!$fp) return null;
fputs ($fp,"POST $domain HTTP/1.1\n");
fputs ($fp,"Host: $host\n");
if ($optional_headers) {
fputs($fp, $optional_headers);
}
fputs ($fp,"Content-type: application/x-www-form-urlencoded\n");
fputs ($fp,"Content-length: ".strlen($data)."\n\n");
fputs ($fp,"$data\n\n");
$response = "";
while(!feof($fp)) {
$response .= fgets($fp, 1024);
}
fclose ($fp);
return $response;
}

function detectProxy(&$ar)
{//begin of function
$gotcha=false;
if(array_key_exists('HTTP_X_FORWARDED_FOR',$_SERVER) || array_key_exists('HTTP_PROXY_CONNECTION',$_SERVER) || array_key_exists('HTTP_VIA',$_SERVER))
{$gotcha=TRUE;}

$gotcha = (stristr($_SERVER['REMOTE_HOST'],"proxy") !== FALSE ) ? TRUE : $gotcha ;

if($gotcha)
{
$ar['PORT']= (array_key_exists('REMOTE_PORT',$_SERVER) ? $_SERVER['REMOTE_PORT'] : "unknown");
$ar['HOST']= (array_key_exists('REMOTE_HOST',$_SERVER) ? $_SERVER['REMOTE_HOST'] : "unknown");
$ar['IP']= (array_key_exists('REMOTE_ADDR',$_SERVER) ? $_SERVER['REMOTE_ADDR'] : "unknown");
$ar['FORWARDED_FOR']=(array_key_exists('HTTP_X_FORWARDED_FOR',$_SERVER) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : "unknown");
$ar['INFO']= (array_key_exists('HTTP_VIA',$_SERVER) ? $_SERVER['HTTP_VIA'] : "unknown");
}
else
{
$ar['PORT']= (array_key_exists('REMOTE_PORT',$_SERVER) ? $_SERVER['REMOTE_PORT'] : "unknown");
$ar['HOST']= (array_key_exists('REMOTE_HOST',$_SERVER) ? $_SERVER['REMOTE_HOST'] : "unknown");
$ar['IP' ]= (array_key_exists('REMOTE_ADDR',$_SERVER) ? $_SERVER['REMOTE_ADDR'] : "unknown");
}
return $gotcha;

}//end of function

?>

Répondre à phpman

13

thefrox, le 11 sep 2008 à 21:32:18

Voici le code php permettant de recuperer le pays, la region, la ville, la longitude et la lattitude par l'ip d'un visiteur
Seul probléme on ne peut soumettre que 25 demandes / jour
Cela conviendra au petit site souhaitant permettre une inscription prés-remplie

<?php
$ip=$_SERVER["REMOTE_ADDR"];
// Initialisation de la page vers laquelle on poste
$url = 'http://www.maxmind.com/app/lookup_city';

// Mis en forme des valeurs postees
$post = array(
'ips' => $ip
);

//Mise en place du POST
$postdata = '' ;
foreach( $post as $name => $value ) {
$postdata .= $name . '=' . $value . "&" ;
}

// Creation du tableau d'option
$opts = array( 'http' =>
array (
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);

// Creation du contexte
$context = stream_context_create($opts);

// Recuperation d une page en methode post
$http_page = file_get_contents($url,false,$context);

// Nettoyage du code recupere
$http_page=eregi_replace("<!DOCTYPE(.+)$ip","",$http_page);
$http_page=eregi_replace("</table>(.+)</html>","",$http_page);
$http_page=str_replace('</font></td>','',$http_page);
$http_page=str_replace('</tr>','',$http_page);
$http_page=explode('<td><font size="-1">',$http_page);

//Recuperation des valeurs dans le tableau
$country_alpha2=$http_page[1];
$country=$http_page[2];
$region=$http_page[4];
$ville=$http_page[5];
$latitude=(float)$http_page[7];
$longitude=(float)$http_page[8];

//Affichage des resultats
echo 'country_alpha2:'.$country_alpha2.'<br>';
echo 'country:'.$country.'<br>';
echo 'region:'.$region.'<br>';
echo 'verif:'.$ville.'<br>';
echo 'latitude:'.$latitude.'<br>';
echo 'longitude:'.$longitude.'<br>';
?>

Répondre à thefrox

14

fnicollet, le 1 fév 2009 à 22:26:04

Salut,
J'ai utilisé l'API PHP de MaxMind pour gélocaliser une adresse IP. Je l'affiche ensuite sur une carte Yahoo! Maps grâce à une application Adobe Flex. Toutes les étapes de l'installation et les scripts PHP sont présentés:
http://www.flex-tutorial.fr/...

Répondre à fnicollet

16

usualpro, le 7 oct 2009 à 10:05:57

Bonjour,
J'ai été confronté a un problème similaire, je devait situer géographiquement un internaute.
Après une rapide recherche sur le web, j'ai finalement opté pour l'API de google Map.
Le lien suivant explique la technique dans le détail:

http://briancray.com/2009/05/29/find-web-visitors-location-j­avascript-google-api/

Cette solution implique d'obtenir une AJAX Search API Key disponible gratuitement au lien suivant:

http://code.google.com/intl/fr-FR/apis/ajaxsearch/signup.htm­l

Répondre à usualpro

17

 ak1-fun, le 11 oct 2009 à 15:55:30

Bonjour,

Merci beaucoup pour l'info !
Ca fonctionne tres bien, je compte l'utiliser sur mes sites web pour faire de la pub locale ....



Filmip
Http://www.ak1-fun.com

Répondre à ak1-fun